async/await

来源:互联网 发布:淘宝宝贝批量下载 编辑:程序博客网 时间:2024/05/22 06:32

async/await - 8.在for循环中正确的使用await

const fetch = require('node-fetch')const bluebird  = require('bluebird')async function getZhihuColumn(id) {  await bluebird.delay(1000)  const url = `https://zhuanlan.zhihu.com/api/columns/${id}`  const response = await fetch(url)  return await response.json()}

循环中的串行

const showColumnInfo = async() => {  console.time('showColumnInfo')  const names = ['qianduanzhidian', 'FrontendMagazine']  for (const name of names) {    const column = await getZhihuColumn(name)    console.log(`name:${column.name}`)    console.log(`description:${column.description}`)  }  console.timeEnd('showColumnInfo') // 4757.181ms}showColumnInfo()

循环中的并行

const showColumnInfo = async() => {  console.time('showColumnInfo')  const names = ['qianduanzhidian', 'FrontendMagazine']  const promises = names.map(x => getZhihuColumn(x))  for (const promise of promises) {    const column = await promise    console.log(`name:${column.name}`)    console.log(`description:${column.description}`)  }  console.timeEnd('showColumnInfo') // 2615.484ms}showColumnInfo()
原创粉丝点击