在鱼壳中,&&和and似乎表现相同。它们完全一样吗?是否存在他们会表现不同的边缘情况?
该wait函数用作睡眠函数,fn函数接受一个数组(项目),它记录每个项目并在记录下一个项目之前休眠一秒钟。
const wait = async(time) => {
return new Promise((resolve) => setTimeout(resolve, time))
}
const fn = async(items) => {
for (item of items) {
await wait(1000)
console.log(item)
}
}
const exeAll = async() => {
Promise.all([
fn(['A1', 'A2']),
fn(['B1', 'B2']),
])
}
exeAll()Run Code Online (Sandbox Code Playgroud)
问题是exeAll函数提供的结果打印:
B1
A2
B2
B2
Run Code Online (Sandbox Code Playgroud)
但我认为它应该打印类似的内容:
A1
B1
A2
B2
Run Code Online (Sandbox Code Playgroud)
执行上述代码时,A1根本不显示。有人能解释一下为什么吗?