通过制作一个计算器,在给定的毫秒数后给我答案,尝试尝试Promise和异步代码的工作原理。
dTkdA = 0 - q / (Nk * cpk)
为什么add函数不等待超时?不管我传入多少毫秒,它都直接解决。忽略它可以使它更清晰。
答案 0 :(得分:2)
更改:
timeout(1000).then(resolve(number1 + number2));
收件人:
timeout(1000).then(() => resolve(number1 + number2))
您的代码不是在等待,而是在调用resolve。
答案 1 :(得分:2)
您立即致电解决:
const add = (number1, number2) => {
return new Promise(resolve => {
timeout(1000).then(() => {
resolve(number1 + number2);
});
});
};
timeout
是一个承诺,您可以完全移除外层:
const add = (number1, number2) => {
return timeout(1000).then(() => {
return number1 + number2;
});
};