本文介绍了如何在邮递员考试中使用承诺?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要在我的邮递员测试中使用一些异步代码。
因为这是一个复杂的场景,所以我用以下代码在一个非常简单的测试中重现了该场景:
let promiseNumber = 0; function resolvedPromise() { return new Promise((resolve, reject) => { pm.sendRequest('postman-echo/get', (err, res) => { if (err) { console.log(err); reject(); } else { console.log(`Resolved promise ${++promiseNumber}`); resolve(); } }); }); } resolvedPromise() .then(resolvedPromise) .then(resolvedPromise) .catch(err => console.log(err));控制台上的预期结果为:
Resolved promise 1 Resolved promise 2 Resolved promise 3但我收到的是:
Resolved promise 1有没有办法在邮递员网站上提供承诺或异步代码?
推荐答案更新:最初的解决方案使用2147483647作为超时值,现在按照评论中的建议进行了重构,使用了Number.MAX_SAFE_INTEGER。
我又做了一些测试,发现在我使用pm.sendRequest后,它总是停止工作。如果我尝试解决承诺,它会奏效。
似乎是查看this thread的已知错误。
它的解决方法是在处理代码时只保留打开的超时。只需确保所有可能的路径清除超时,否则呼叫将挂起300000年更多推荐
如何在邮递员考试中使用承诺?
发布评论