小编H.B*_*.B.的帖子

“&&”与fish shell中的“and”完全等同吗?

鱼壳中,&&and似乎表现相同。它们完全一样吗?是否存在他们会表现不同的边缘情况?

shell scripting fish

2
推荐指数
1
解决办法
654
查看次数

Promise.all() 中的第一个承诺无法正确执行

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根本不显示。有人能解释一下为什么吗?

javascript asynchronous promise async-await

2
推荐指数
1
解决办法
360
查看次数