我是JS新手,我不理解我在代码片段中看到的行为
const task1 = new Promise((res, rej) => {
setTimeout(() => res('one'), 5000)
})
const task2 = new Promise((res, rej) => {
setTimeout(() => res('two'), 5000)
})
task1
.then((x) => { // first then
return Promise.resolve(task2)
})
.then((res) => {console.log(res)}) // expect to log after 10 seconds, but logs after 5 seconds
async function test() {
try {
const res = await task1;
const res2 = await task2;
console.log(res2); // also logs after 5 seconds
} catch (error) {
console.error(`error`);
}
}
test();
我的理解是,第一个".Then"仅在任务1在5秒后解析后触发,然后任务2在另一个5秒后启动并解析.然而,控制台在5秒后记录,而不是10秒.我哪里出错了?