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

首頁 > 開發 > JS > 正文

nodejs使用async模塊同步執行的方法

2024-05-06 16:48:40
字體:
來源:轉載
供稿:網友

首先安裝 模塊async

nodejs,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('正常執行的方法');

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

nodejs,async,同步執行

這就是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("方法執行完畢"+result);      }    }  );} seriesFunc();

運行結果是否是我們期望的一次執行呢?

nodejs,async,同步執行

結果果然是我們期待的一樣,順序進行執行,node異步的機制就決定了,響應速度快,做web開發的優勢。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江山市| 沁阳市| 且末县| 修文县| 长海县| 庆云县| 桦甸市| 和林格尔县| 四川省| 保康县| 太湖县| 贡山| 保德县| 黔西县| 乌拉特前旗| 宁城县| 阿鲁科尔沁旗| 阳山县| 海口市| 罗平县| 万山特区| 大安市| 兴安县| 巴塘县| 黑龙江省| 奎屯市| 徐汇区| 庆城县| 夏邑县| 板桥市| 中方县| 迭部县| 临泉县| 宣恩县| 小金县| 砚山县| 安丘市| 广德县| 长顺县| 斗六市| 鹤壁市|