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,才执行下一个任务。
网友评论