如果nodejs中连续查两次数据库,如果要求先查每1个,再查第2个,最后根据两次查询的结果做一些操作,怎么用promise实现呢?可以做到没有任何的二重嵌套吗?比如:query({id:12}).then(function(data){ console.log(data);
query({id:13}).then(function(data2){
doXXX();
});
});以上代码结果还是出现了嵌套。如果这样写:query({id:12}).then(function(data){
console.log(data);
}).then(function(){
query({id:13}).then(function(data2){
doXXX();
});
}).then(function(data){
doXXXX();
});由于第2个then有异步,还是不行的,会跑到第3个then里面去。谢谢解答,下面代码是可以的:var query=test.query('core_user',{userName:'lqq'});
var array=new Array();
query.then(function (data) {
console.log(data); array.push(data[0]);
}).then(function () { return test.query('core_user',{userName:'test3'});
}).then(function (data) {
console.log(data); array.push(data[0]);
console.log(array);
res.send(array);
});
1 回答
![?](http://img1.sycdn.imooc.com/545862770001a22702200220-100-100.jpg)
叮当猫咪
TA贡献1776条经验 获得超12个赞
query({id:12}).then(function(data){ console.log(data); return query({id:13}) }).then(function(data){ doXXXX(); });
添加回答
举报
0/150
提交
取消