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

Async Methods参数

coll

Array | Iterable | AsyncIterable | Object的集合

iteratee

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

(item, callback)=>{
    //....
    callback(err, result)
}

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

const asyncFn = async ({ value, status }) => {
  return await Promise.resolve(value)
}

callback

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

Methods返回值

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

方式一:传入callback

asyncMethods(coll, iteratee, (err,results)=>{
    if (err){
        console.error('err', err)
        return 
    }
    console.log('compelete', result)
})

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

asyncMethods.then((result) => {
  console.log('compelete', result)
}).catch((err) => {
  console.error('err', err)
})

方法术语

Limit

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

Series

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

你可能感兴趣的:(Async.js异步队列编程库基本使用介绍)