node.js之async的使用(series,whilst)
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)相关推荐
- Node.js中Async详解
Node.js中Async详解:流程控制 安装 npm install async --save 地址 https://github.com/caolan/async Async的内容主要分为三部分 ...
- 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 ...
- Node.js Async Await in ES7
原文 http://stackabuse.com/node-js-async-await-in-es7/ One of the most exciting features coming to Jav ...
- node.js async循环数组的方法
Collections 集合处理 async.forEachOf | eachOf(object, iterator, callback) 实现功能:遍历object对象执行iterator,报错 ...
- node.js中对 mysql 进行增删改查等操作和async,await处理
要对mysql进行操作,我们需要安装一个mysql的库. 一.安装mysql库 npm install mysql --save 二.对mysql进行简单查询操作 const mysql = requ ...
- 掌握Node.js中的Async和Await
在本文中,你将学习如何使用Node.js中的async函数(async/await)来简化callback或Promise. 异步语言结构在其他语言中已经存在了,像c#的async/await.Kot ...
- node mysql await_javascript – node.js async / await与MySQL一起使...
我需要将所有结果同步并附加到带有async / await关键字的字符串,例如c# 我是node.js的新手,我无法将这种新语法适应我的代码. var string1 = ''; var string ...
- 如何使用async / await和Firebase数据库编写漂亮的Node.js API
by Paul Breslin 保罗·布雷斯林(Paul Breslin) 如何使用async / await和Firebase数据库编写漂亮的Node.js API (How to write ...
- Node.js「二」—— fs 模块 / async 与 await
本文为 Node.js 系列笔记第二篇.文章参考:nodejs 教程 -- 大地:<深入浅出 Node.js>:阮一峰 nodejs 博客: 添加链接描述 文章目录 一.fs 模块常用读写 ...
- Node.js async/awit
1:NodeJS 是什么 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. No ...
最新文章
- UICollectionView的headerView、footerView使用以及与UITableView加载headerView、footerView的区别...
- Apache RocketMQ Meetup深圳首秀 引开源爱好者追捧
- php 返回map,PHP Ds\Map get()用法及代码示例
- 【PHP】创建文件并写入内容
- python如何下载zip文件_使用python-mechaniz下载zip文件
- 如何减小电压跟随器输出电阻_机器人如何保护电池的电源管理系统 免受热坏?(附:PDF文档下载)...
- 客服端与服务器之间传输信息,QT实现客服端和服务器之间消息和文件交互
- Asp.net MVC中如何获取控制器的名称
- TCP通信之获取本机IPV4地址
- jQuery实现倒计时重新发送短信验证码功能示例
- shell脚本使用getopts自定义传入参数选项
- python整人代码大全_整人代码大全
- 纯c语言----学生成绩管理系统
- php转png在线转换,png转ico在线工具
- java中美元符号的作用_MyBatis中#号与美元符号的区别
- Heidisql中如何解决MySqlServer go away问题
- 【BZOJ4399】—膜法少女LJJ(线段树合并)
- 如何制作u盘pe启动盘?
- 通过需求条目的层次去解决问题
- python中的函数 - function