栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

async.series和async.parallel之间的区别

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

async.series和async.parallel之间的区别

async.series
依次调用您的函数(等待前面的每个函数完成,然后再开始下一个)。
async.parallel
将同时启动它们(或者无论如何在单线程区域同时启动它们)。

主回调是对

async.parallel
或的调用中可选提供的回调
async.series
(签名为
async.parallel(tasks,[callback])

所以实际上是这样的:

平行:

  • parallel
    启动所有任务,然后等待
  • 所有四个任务都安排了超时
  • 超时100次触发,添加其结果(结果为
    [ , "Two"]
  • 超时200次触发,添加其结果(结果为
    ["One", "Two"]
  • 超时400触发,返回错误并返回
    undefined
    结果(结果为
    ["One", "Two", undefined]
  • parallel
    发现错误,立即返回到目前为止收到的结果
  • 600超时触发,但没人在乎返回结果

系列:

  • series
    触发第一个任务;它计划超时。
  • series
    等到回调在200毫秒后被调用,然后添加结果。(结果为
    ["One"]
  • series
    触发第二项任务;它计划超时。
  • series
    等到回调在100毫秒后被调用,然后添加结果。(结果为
    ["One", "Two"]
  • series
    发射第三项任务;它计划超时。
  • series
    等到回调在400ms后被调用,然后添加结果并由于错误而退出。(结果为
    ["One", "Two", undefined]
  • 第四个任务永远不会执行,并且它的超时也不会被调度。

您获得相同结果的事实是由于您依赖于

setTimeout
任务。

至于如何

parallel
有效地使用,请尝试使用下载一百个网页
parallel
。然后使用
series
。走着瞧吧。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/484924.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号