Async.js异步队列编程库基本使用介绍

JavaScript014

Async.js异步队列编程库基本使用介绍,第1张

Array | Iterable | AsyncIterable | Object的集合

需要执行的异步函数:有2种方式,普通带回调的函数,在函数之后最后必须调用回调函数传入err和result。如果err为空,则表明当前异步操作成功,将继续下一个异步执行,如果传入err不为空,则整个异步队列任务的状态即为false终止执行下面的任务。

另一种方式是es7的 async 函数,将return的值(即resolve的值)定义为此次的返回值,如果异常则自动将异常信息(即reject值)用于error信息

所有异步方法执行之后的回调函数,参数为err,results

如果方法中没有传入callback参数,则返回promise

方式一:传入callback

方式二:不传入callback,使用promise的then、catch方式

异步队列函数,同一时间并发执行的的函数的数量,仍属于异步,只不过做了每次执行的数量限制

异步串行执行,必须等到前一个异步任务状态sucess,才执行下一个任务。

async 是一个修饰符,被它定义的函数会默认的 返回 一个 Promise 的 resolve的值。

因此对 async 函数可以直接进行 then 操作,返回的值即为 then() 方法的传入函数。

await 同 async 一样,作为修饰符,但是它只能放在 async 内部使用。

它是 获取 Promise 中返回的内容, 即这个 Promise 函数中 resolve 或者 reject 的值。

所以,async 用于申明一个 function 是异步的,而 await 用于等待一个异步方法执行完成。

如下例:

比如说,这样一个场景:等待三个数据结果都返回,计算它们的和

async表示异步的意思,如果前面加上 async =false 就表示同步的方式运行,当程序读到这句话的要等到它运行完毕之后才执行下面的程序。

而如果是 async =true 就表示异步的方式运行,不用等到当前语句返回结果就会继续下面的语句。这样运行更流畅,不会出现停顿的现象。