首先,这是虚拟的承诺功能:
const dummy_server = () => new Promise(resolve => {
setTimeout(() => {resolve('success')}, 3000)
})
方案 1 如下:
const result1 = await dummy_server()
const result2 = await dummy_server()
const result3 = await dummy_server()
console.log(result1, result2, result3)
预期:将在 3 * 3 = 9 秒后打印 'success' 'success' 'success'
实际:是的,我的想法
方案 2 如下:
const results = await Promise.all([dummy_server(), dummy_server(), dummy_server()])
console.log(results , 'hi')
预期:将在 3 * 1 = 3 秒后打印 ['success', 'success', 'success']
实际:不......它会立即打印!结果是正确的,但为什么不花时间?!?!
这对我来说很棘手......为什么?谁能解释一下……???