【发布时间】:2022-02-16 19:28:06
【问题描述】:
async () => {
try {
setTimeout(() => console.log('next task'), 0);
await timeTakingFunc();
console.log('after waiting for timetaking function');
} catch (error) {
console.log(error.message);
}})();
输出:
等待计时功能后
下一个任务
不应该首先将“下一个任务”打印为 timeTakingFunction();执行时间长,超时只有0ms?
计时功能:
async function timeTakingFunc() {
return new Promise((resolve, error) => {
for (let t = 1; t < 100000; t++) {
for (let k = 1; k < 100000; k++) {
}
}
resolve();
});
};
【问题讨论】:
-
请出示
timeTakingFunc。 -
async function timeTakingFunc() { return new Promise((resolve, error) => { for (let t = 1; t < 100000; t++) { for (let k = 1; k < 100000; k++) { } } resolve(); }); }; -
@AkashDubey - 我更新了我的答案以解释为什么该函数同步工作
-
@AkashDubey:传递给
Promise的回调函数同步执行。
标签: javascript async-await promise