js async05

Posted anch

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js async05相关的知识,希望对你有一定的参考价值。

function resolveAfter2Seconds() {
  console.log(‘slow start at: ‘ + new Date().getSeconds())
  return new Promise(resolve => {
    setTimeout(() => {
      resolve(‘slow‘)
      console.log(‘slow done at: ‘ + new Date().getSeconds())
    }, 2000 )
  })
}
function resolveAfter1Second() {
  console.log(‘fast start at: ‘ + new Date().getSeconds())
  return new Promise(resolve => {
    setTimeout(() => {
      resolve(‘fast‘)
      console.log(‘fast done at: ‘ + new Date().getSeconds())
    }, 1000 )
  })
}
var parallel = async function() {
  console.log(‘==PARALLEL WITH await Promise.all== at: ‘ + new Date().getSeconds())
  await Promise.all([
    (async () => console.log(await resolveAfter2Seconds() + ‘ at: ‘ + new Date().getSeconds()))(),
    (async () => console.log(await resolveAfter1Second() + ‘ at: ‘ + new Date().getSeconds()))()
  ])
  console.log(‘parallel done at: ‘ + new Date().getSeconds())
}
parallel()

//

==PARALLEL WITH await Promise.all== at: 50
slow start at: 50
fast start at: 50
fast done at: 51
fast at: 51
slow done at: 52
slow at: 52
parallel done at: 52

以上是关于js async05的主要内容,如果未能解决你的问题,请参考以下文章

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

Node.js 使用 async/await 读取文件

使用 node.js 函数 async.retry 确定成功/失败

Node.js async eachLimit 在这种情况下如何工作?

node js async & await 函数 - 强制函数完成?