溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在nodejs中使用async模塊同步執(zhí)行

發(fā)布時間:2021-03-17 17:11:07 來源:億速云 閱讀:284 作者:Leah 欄目:web開發(fā)

這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)如何在nodejs中使用async模塊同步執(zhí)行,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

首先安裝 模塊async

如何在nodejs中使用async模塊同步執(zhí)行

測試代碼:

call.js

exports.fun1 = function (callback) {
 setTimeout(function(){
 console.log('方法1');
 callback('1');
 },1900);
}
exports.fun2 = function (callback) {
 setTimeout(function(){
 console.log('方法2');
 callback('2');
 },1700);
}
exports.fun3 = function (callback) {
 setTimeout(function(){
 console.log('方法3');
 callback('3');
 },1500);
}

test.js:

var async = require('async');
var step = require('step');
var call = require('./call');
call.fun1(function(data){
 console.log(data);
});
call.fun2(function(data){
 console.log(data);
});
call.fun3(function(data){
 console.log(data);
});
console.log('正常執(zhí)行的方法');

沒有使用異步之前,我們調(diào)用三個方法期望的結(jié)果是:輸出:方法1,方法2,方法3,但是node本身異步的機制決定了它不能像其他同步語言一樣正常輸出,結(jié)果輸出是以時間花費最少的先執(zhí)行:結(jié)果

如何在nodejs中使用async模塊同步執(zhí)行

這就是node的異步機制,我們使用async同步模塊進行再次測試

加入代碼:

function seriesFunc() {
  async.series([
    function(callback) {
      call.fun1(function(data){
       callback(null,data);
      });
    },
    function(callback) {
      call.fun2(function(data){
       callback(null,data);
      });
    },
    function(callback) {
      call.fun3(function(data){
       callback(null,data);
      });
    }],
    function(error,result) {
      if(error) {
        console.log("error: ",error,"msg: ",result);
      }
      else {
        console.log("方法執(zhí)行完畢"+result);
      }
    }
  );
} 
seriesFunc();

運行結(jié)果是否是我們期望的一次執(zhí)行呢?

如何在nodejs中使用async模塊同步執(zhí)行

上述就是小編為大家分享的如何在nodejs中使用async模塊同步執(zhí)行了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI