JavaScript中使用Async实现异步控制

前端之家收集整理的这篇文章主要介绍了JavaScript中使用Async实现异步控制前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

async官方DOC

介绍

node安装

使用

js文件

github.com/caolan/asyn…

async提供了很多函数用于异步流程控制,下面是async核心的几个函数,完整的函数请看async官方DOC

series串行

series 的作用就是按照顺序一次执行。

输出结果为

[ 1,2 ]

series 函数的第一个参数可以是一个数组也可以是一个JSON对象,参数类型不同,影响的是返回数据的格式。

输出

{one: 1,two: 2}

waterfall瀑布流

waterfall 和 series 函数都是按照顺序执行,不同之处是 waterfall 每个函数产生的值都可以传递给下一个函数, series 不可以。

输出

function 2 arg1: one arg2: two function 3 arg1: three done

waterfall 第一个参数只能为数组。当中途有函数出错,其err直接传给最终callback,结果被丢弃,后面的函数不再执行。

paraller 函数是并行执行多个函数,每个函数都是立即执行,不需要等待其它函数先执行。

传给最终callback的数组中的数据按照tasks中声明的顺序,而不是执行完成的顺序。

});

tasks参数可以是一个数组或是json对象,和 series 函数一样,tasks参数类型不同,返回的results格式会不一样。

将示例中tasks的回调函数用setTimeout在1000毫秒后调用,然后在 parallel 的回调函数输出results,看一看整个过程花费了1s还是2s。

parallelLimit 函数和 parallel 类似,但是它多了一个参数limit。 limit参数限制任务只能同时并发一定数量,而不是无限制并发,示例如下:

将示例中tasks的回调函数用setTimeout在1000毫秒后调用,limit参数设置为1,然后在parallelLimit的回调函数输出results,看一看整个过程花费了1s还是2s。

map 函数遍历传入的数组,并执行同样的操作,最终返回结果

cool:数组

iteratee:对数组每一项要执行的函数

callbackopt:回调函数

总结

以上所述是小编给大家介绍的JavaScript中使用Async实现异步控制。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

猜你在找的JavaScript相关文章