【发布时间】:2020-12-08 23:28:09
【问题描述】:
我正在尝试在我的角度组件中使用 promise.race 函数,但我遇到了超时问题。即使我在 promise.race 中将超时定义为 1 秒,响应等待 15 秒执行?这是我的代码:
let statusFind = this.getStatus(); //This takes 15 seconds
let statusTimeout = new Promise((resolve, reject) => { // This resolved in 1 second
let wait = setTimeout(() => {
clearTimeout(wait);
let status = {connection : 0 , online : -3, isPrintable : false };
resolve (status);
}, 1000)
});
Promise.race([ statusFind, statusTimeout]).then((statusResponse: any) => {
// Here I am getting my status response back in 15 second even if my timeout promise gets resolved first.
//Though I am getting the value here as my timeout value but why it is waiting for my 15 second first promise to finish?
});
请帮忙。
【问题讨论】:
标签: angularjs promise es6-promise angular-promise race-condition