promise 存到变量中为什么可以防止阻塞?
資深大佬 : siwadiya 2

为什么将 promise 存到变量中,这三个 promise 就会同时运行,而不是阻塞后面代码的运行
大佬有話說 (11)

为什么将 promise 存到变量中,这三个 promise 就会同时运行,而不是阻塞后面代码的运行
而第二个例子因为都是等待 3 秒,所以 await timeoutPromise1 时第二个和第三个的时间也到了。
你试试 如果时间不一样会怎么样
const timeoutPromise1 = timeoutPromise(3000)
const timeoutPromise2 = timeoutPromise(4000)
const timeoutPromise3 = timeoutPromise(5000)
await timeoutPromise1
print(‘promise 1 done’)
await timeoutPromise2
print(‘promise 2 done’)
await timeoutPromise3
print(‘promise 3 done’)
可以用 await Promise.all
“存到变量”不是本质影响这个过程的因素,而是一种表象,本质是你的异步函数什么时候被调用的。可以去看看 Promise 的执行过程,await 一个 Promise 对象就是现在有结果就现在拿,现在没有结果就等着结果出来,结果出来拿到后再继续往下执行。