【JavaScript】async用过吗?可以大致介绍一下不?(约162字)

async是一个 JavaScript类库,它的目的是解决 JavaScript中异常流程难以控制的问题。

async不仅在 Node. js里适用,还可以用在浏览器中。其常用方法和用法如下。

具体代码如下所示:

css
var async = require('async ');
var date = Date .now ( );

(1) async. parallel:并行执行完多个函数后,调用结束函数。不用等到前一个函数。执行完再执行下一个函数。

javascript
async .parallel ( [
     function ( callback ) {
        setTimeout (function () {
console. log('process one', Date. now ( ) - date)
callback(null, 'msg one')
},2000)
},
function ( callback ){
setTimeout ( function () {
console. log('process tow', Date .now ( ) - date )
callback ( null, 'msg tow' )
},1000)
}
], function(err, result){
  console. log(err, result, 'done ')
})

(2) async.series:串行执行完多个函数后,调用结束函数。前面一个函数执行完之后,就会立即执行下一个函数。

javascript
async .series ( [
function ( callback ) {
setTimeout ( function () {
console. log ( 'process one ', Date. now ( ) - date )
callback ( null, ' msg one'  )
},2000 )
},
function ( callback )  {
setTimeout ( function () {
console. log ( 'process tow', Date. now ( ) - date )
callback ( null, 'msg tow ' )
},1000 )
   }
] , function (err, result ) {
console. log(err, result, 'done')
})

(3) async. waterfall:依次执行多个函数,前一个函数的执行结果作为后一个函数执行时的参数。

javascript
async .waterfall ( [
function ( callback ) {
setTimeout ( function () {
console. log('process one, Date. now()- date)
callback(null, 'msg one')
},2000)
},
function(argl, callback){
 setTimeout (function(){
console. log('process tow, Date. now  ( ) - date, argl )
callback(null, 'msg tow')
},1000)
}
] , function(err, result){
console. log(err, result, 'done ')
})

THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容