【发布时间】:2021-07-23 20:24:48
【问题描述】:
我有一个可以返回承诺的函数,如果出现错误,我必须再次调用相同的函数。问题是每当我再次调用它时,我都会得到相同的响应,就好像它再也没有被调用过一样。
这是解决方法:
first_file = async () => {
return new Promise(async (resolve, reject) => {
//Generating the token
(async () => {
while (true) {
console.log("Resolving...");
resolve(token);
await sleep(5000);
resolved_token = token;
}
})();
});
};
我在这里生成一个令牌,我在第二个脚本中使用它:
function sleep(ms) {
return new Promise((resolve) => {
setTimeout(resolve, ms);
});
}
(async() =>{
while(true){
test = require("./test")
test.first_file ().then(res=>{
console.log(res)
})
await sleep(15000)
}
})()
这里的预期值是每 15000 毫秒(15 秒)我得到一个新的响应,但在这里我一遍又一遍地得到相同的响应。
如果标题不准确,请见谅;我不知道如何解释这个问题。
【问题讨论】:
标签: javascript node.js asynchronous async-await promise