概述
在写一个自己的小项目的时候发现如果逻辑稍微复杂一点,就会陷入很多的嵌套中,这也就是所谓的回调地狱。以前的写法可能是这样
conn.query('sql',function(err,data){
if(err) {
console.log(err);
}else {
conn.query('sql',function(err,data){
if(err) {
console.log(err);
}else {
conn.query('sql',function(err,data){
if(err) {
console.log(err);
}else {
......
}
});
}
});
}
});
这样就很不友好了,逻辑一多,思维就会很乱,不好维护了。
接着就逼着自己学习async了。它可以用下面的方式去做这件事
async.waterfall([
function(callback){
connection.query('sql',function(err,data){
callback(null, data);
})
},
function (data, callback){
var result = data;
//console.log(result+"n------------------------");
result.forEach(function(r){
console.log(r);
});
connection.query('sql',function(err,data){
callback(null, data);
});
},
function (data, callback){
var result = data;
result.forEach(function(r){
console.log(r);
});
}
], function (err, result) {
console.log(result);
});
最后
以上就是单薄翅膀为你收集整理的node+express中用async来避免sql嵌套的全部内容,希望文章能够帮你解决node+express中用async来避免sql嵌套所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复