nodejs中循环中套异步+解决async模块

来源:互联网 发布:提成算法 编辑:程序博客网 时间:2024/05/29 04:00

var async=require("async");var mysql=require("mysql");var datalist = [{number:10},{number:20},{number:30},{number:40},{number:50}];var count = 0;var conn=mysql.createConnection({    host : "127.0.0.1",    user : "root",    password: "",    port: "3306",    database:"langjie"});var test = function () {    return count<datalist.length;};var fn = function(callback){    console.log(datalist[count].number);    count++;    conn.query("select * from tablel",function(err,results){        if(err){console.log(err)}else{            //console.log(count)            console.log("bbb")            callback();        }    });};async.whilst(test,fn,function(err){    if(err){        console.log(err);    }    console.log('whilst结束');});



自己的代码

var mysql=require("mysql")var async=require("async");var list="";var conn=mysql.createConnection({    host : "127.0.0.1",    user : "root",    password: "",    port: "3306",    database:"langjie"});conn.connect(function(){    console.log("连接数据库succ")});conn.query("select * from tablel",function(err,results){    if(err){console.log(err)}else{        list=results;    }    var count = 0;    var test = function () {        return count<list.length;    };    var fn = function(callback){            conn.query(`select * from table_card where serialNo='${list[count].serialNo}'`,function(err,result){                if(result[0]==undefined){                    conn.query(`insert into table_card(id,serialNo,model,latestRegNo,dealer,salesman,authType,machineNo,remark) values(null,'${list[count].serialNo}','${list[count].model}','${list[count].latestRegNo}','${list[count].dealer}','${list[count].salesman}','${list[count].cardType}','${list[count].machineNo}','${list[count].remark}')`,function(err,result){                        if(err){console.log(err)}else{console.log("insert succ"+count)}                        count++;                        callback();                    })                }else{                    conn.query(`update table_card set model='${list[count].model}',latestRegNo='${list[count].latestRegNo}',dealer='${list[count].dealer}',salesman='${list[count].salesman}',authType='${list[count].cardType}',machineNo='${list[count].machineNo}',remark='${list[count].remark}' where serialNo=${list[count].serialNo}`,function(err,result){                        if(err){console.log(err)}else{console.log("update succ"+count)}                        count++;                        callback();                    })                }            })    };    async.whilst(test,fn,function(err){        if(err){            console.log(err);        }        console.log('whilst结束');    });});

连接地址:http://blog.csdn.net/zzwwjjdj1/article/details/51857959

原创粉丝点击