如果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); });
叮当猫咪
相关分类