用promis q模块封装的应用,需要调用两次,而且后一次需要用到前一次的结果,求大神帮忙
用var deferred = Q.defer(); deferred.resolve(result); 写了一个mysql.opertateMysql方法用来操作mysql,第一步要先查询,第二步根据查询的结果来做mysql操作 mysql.opertateMysql(查询操作). then(function(result){ mysql.opertateMysql(根据result进行其他操作). then(function(result){}) }) 有没有更好的写法,不要再嵌套一个 mysql.opertateMysql 十分感谢
6 回复
术语错了,代码不格式化,没有心情回复
@i5ting 没有心情回复就不要写了ok,我也是醉了,何必呢。。。又没有求你。。
把第二步的promise返回?继续then下去? 自豪地采用 CNodeJS ionic
3楼正解,
mysql.operateMysql('...')
.then(function(result){
return mysql.operateMysql('...2');
})
.then(function(result2) {
// 如果还需要异步就继续返回 promise
})
promise 就是用来解决这种回调的呀。return 一个 promise , 下一个 then 是接着该 promise 后面走的。
十分感谢3楼4楼,对1楼表示抱歉,本人小白遇到问题太多了而且看着回调有点乱,内心烦躁。总之十分感谢大家帮助
@klesh 十分感谢