国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

nodejs使用async模塊同步執(zhí)行的方法

2019-11-19 12:03:03
字體:
供稿:網(wǎng)友

首先安裝 模塊async

測試代碼:

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)用三個(gè)方法期望的結(jié)果是:輸出:方法1,方法2,方法3,但是node本身異步的機(jī)制決定了它不能像其他同步語言一樣正常輸出,結(jié)果輸出是以時(shí)間花費(fèi)最少的先執(zhí)行:結(jié)果

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

加入代碼:

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();

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

結(jié)果果然是我們期待的一樣,順序進(jìn)行執(zhí)行,node異步的機(jī)制就決定了,響應(yīng)速度快,做web開發(fā)的優(yōu)勢。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對武林網(wǎng)的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 武冈市| 新平| 泗阳县| 呼和浩特市| 定边县| 昆山市| 大埔区| 新竹市| 景德镇市| 中阳县| 五寨县| 湖口县| 渭南市| 富锦市| 沾化县| 浏阳市| 菏泽市| 故城县| 特克斯县| 松桃| 武冈市| 巴青县| 平湖市| 遵义市| 迁西县| 长宁县| 深泽县| 平顺县| 大冶市| 安顺市| 舞阳县| 汉川市| 扬州市| 通化县| 都安| 湘阴县| 都匀市| 庆云县| 阆中市| 白水县| 六盘水市|