series函数 串行执行

async.series({

one: function(callback){
callback(null, 1);
},
two: function(callback){
callback(null, 2);
}
},function(err, results) {
console.log(results);

});

如,数据库插入前要找出一个最大ID,,

function (cb1) {
                    var sql = "SELECT MAX(PRODUCT_ID+1) AS id FROM product;";
                    Mysql.query(sql, function (err, data) {
                        new_productid = data[0].id;
                        console.log("新的productid是: "+new_productid);
                        cb1(err,data[0]);
                    });
                },
                //产品信息插入到 t10_product
                function (cb2) {
                    var sql ="INSERT INTO `product` VALUES ('"+new_productid+"'巴拉巴拉")";
                    Mysql.query(sql, function (err, data) {
                        cb2(err,0);
                    });
                },

最后所有的results和err  会汇总到最后的辣个function,results[0]指的是cb1过来的辣个

whilst官方给的栗子

var count = 0;
async.whilst(
    function() { return count < 5; },
    function(callback) {
        count++;
        setTimeout(function() {
            callback(null, count);
        }, 1000);
    },
    function (err, n) {
        // 5 seconds have passed, n = 5
    }
);

这次实际开发中需要循环数组,遍历数组里面元素将其插入,,异步会坏了循环插入,其实可以把callback往外面扔,但是这样没法获取mysql.query中的err信息了。


var i = 0;

async.whilst(
                        function() { return i < data.length; },
                        function(callback) {
                                if(){
                                    var sql="";
                                    Mysql.query(sql,function (err,data) {
                                        if(err)
                                        callback(err,0);
                                        else
                                            callback(null,0);
                                    });
                   
                                }
                                else{
                                    var sql="";
                                    Mysql.query(sql,function (err,data) {
                                        if(err)
                                            callback(err,0);
                                        else
                                            callback(null,0);
                                    });
                                }
                            i++;
                        },
                        function (err, data) {
                            cb5(err,data);
                        }
                    );

node.js之async的使用(series,whilst)相关推荐

  1. Node.js中Async详解

    Node.js中Async详解:流程控制 安装 npm install async --save 地址 https://github.com/caolan/async Async的内容主要分为三部分 ...

  2. puppeteer api_使用Node.js和puppeteer API从URL创建PDF文件

    puppeteer api We will continue using Node.js and puppeteer which is a node library. As we saw in our ...

  3. Node.js Async Await in ES7

    原文 http://stackabuse.com/node-js-async-await-in-es7/ One of the most exciting features coming to Jav ...

  4. node.js async循环数组的方法

    Collections 集合处理 async.forEachOf  |  eachOf(object, iterator, callback) 实现功能:遍历object对象执行iterator,报错 ...

  5. node.js中对 mysql 进行增删改查等操作和async,await处理

    要对mysql进行操作,我们需要安装一个mysql的库. 一.安装mysql库 npm install mysql --save 二.对mysql进行简单查询操作 const mysql = requ ...

  6. 掌握Node.js中的Async和Await

    在本文中,你将学习如何使用Node.js中的async函数(async/await)来简化callback或Promise. 异步语言结构在其他语言中已经存在了,像c#的async/await.Kot ...

  7. node mysql await_javascript – node.js async / await与MySQL一起使...

    我需要将所有结果同步并附加到带有async / await关键字的字符串,例如c# 我是node.js的新手,我无法将这种新语法适应我的代码. var string1 = ''; var string ...

  8. 如何使用async / await和Firebase数据库编写漂亮的Node.js API

    by Paul Breslin 保罗·布雷斯林(Pau​​l Breslin) 如何使用async / await和Firebase数据库编写漂亮的Node.js API (How to write ...

  9. Node.js「二」—— fs 模块 / async 与 await

    本文为 Node.js 系列笔记第二篇.文章参考:nodejs 教程 -- 大地:<深入浅出 Node.js>:阮一峰 nodejs 博客: 添加链接描述 文章目录 一.fs 模块常用读写 ...

  10. Node.js async/awit

    1:NodeJS 是什么 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. No ...

最新文章

  1. UICollectionView的headerView、footerView使用以及与UITableView加载headerView、footerView的区别...
  2. Apache RocketMQ Meetup深圳首秀 引开源爱好者追捧
  3. php 返回map,PHP Ds\Map get()用法及代码示例
  4. 【PHP】创建文件并写入内容
  5. python如何下载zip文件_使用python-mechaniz下载zip文件
  6. 如何减小电压跟随器输出电阻_机器人如何保护电池的电源管理系统 免受热坏?(附:PDF文档下载)...
  7. 客服端与服务器之间传输信息,QT实现客服端和服务器之间消息和文件交互
  8. Asp.net MVC中如何获取控制器的名称
  9. TCP通信之获取本机IPV4地址
  10. jQuery实现倒计时重新发送短信验证码功能示例
  11. shell脚本使用getopts自定义传入参数选项
  12. python整人代码大全_整人代码大全
  13. 纯c语言----学生成绩管理系统
  14. php转png在线转换,png转ico在线工具
  15. java中美元符号的作用_MyBatis中#号与美元符号的区别
  16. Heidisql中如何解决MySqlServer go away问题
  17. 【BZOJ4399】—膜法少女LJJ(线段树合并)
  18. 如何制作u盘pe启动盘?
  19. 通过需求条目的层次去解决问题
  20. python中的函数 - function

热门文章

  1. 各种手段终于将土豆视频url请求找到了
  2. Vue+ elementui 布局混乱
  3. 三分钟读完《长尾理论》
  4. 上海租房住房公积金提取
  5. linux内核时区文件编辑器——ZIC时区编辑
  6. 电信天翼网关连接多个路由器
  7. kernel - regulator
  8. 领导力21法则-- 要点总结
  9. edg驱动 wobot通过ttyUSB0串口通信
  10. 逻辑漏洞——忘记密码、重置密码(案例分析、原理)