nodejs使用async模块同步执行的方法

 更新时间:2019年03月02日 10:49:43   作者:一只勤奋的代码狗  
今天小编就为大家分享一篇关于nodejs使用async模块同步执行的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

首先安装 模块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本身异步的机制决定了它不能像其他同步语言一样正常输出,结果输出是以时间花费最少的先执行:结果

这就是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();

运行结果是否是我们期望的一次执行呢?

结果果然是我们期待的一样,顺序进行执行,node异步的机制就决定了,响应速度快,做web开发的优势。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • node+express实现分页效果

    node+express实现分页效果

    这篇文章主要为大家详细介绍了node+express实现分页效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • NodeJS学习笔记之FS文件模块

    NodeJS学习笔记之FS文件模块

    在看nodejs介绍的过程中,nodejs对自己的异步I/O是重点突出的说明的。在fs模块中,nodejs提供了异步和同步两种读写方式
    2015-01-01
  • 基于nodejs 的多页面爬虫实例代码

    基于nodejs 的多页面爬虫实例代码

    本篇文章主要介绍了基于nodejs 的多页面爬虫 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • node获取命令行中的参数详解

    node获取命令行中的参数详解

    这篇文章主要为大家介绍了node获取命令行中的参数详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • 关于NodeJS中的循环引用详解

    关于NodeJS中的循环引用详解

    这篇文章主要给大家介绍了关于NodeJS中的循环引用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用NodeJS具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • 详解node+express+ejs+bootstrap构建项目

    详解node+express+ejs+bootstrap构建项目

    本篇文章主要介绍了详解node+express+ejs+bootstrap构建项目,非常具有实用价值,需要的朋友可以参考下
    2017-09-09
  • Node.js 利用cheerio制作简单的网页爬虫示例

    Node.js 利用cheerio制作简单的网页爬虫示例

    本篇文章主要介绍了Node.js 利用cheerio制作简单的网页爬虫示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • node如何将package.json中的包降为低版本或者升级为高版本

    node如何将package.json中的包降为低版本或者升级为高版本

    比如现在你用某个包的当前版本,但是你安装的版本高了,那么你应该这么做,首先删除node项目中的node_modules目录,防止安装时的包不一致,下面给大家介绍node将package.json中的包降为低版本或者升级为高版本的方法,感兴趣的朋友一起看看吧
    2023-11-11
  • 如何使用npm安装yarn详解

    如何使用npm安装yarn详解

    Yarn是一个新的快速安全可信赖的可以替代NPM的依赖管理工具,下面这篇文章主要给大家介绍了关于如何使用npm安装yarn的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • Nodejs的express使用教程

    Nodejs的express使用教程

    Express 是一个简洁、灵活的 node.js Web 应用开发框架, 它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用,本篇文章给大家介绍nodejs的express使用教程,感兴趣的朋友参考下
    2015-11-11

最新评论