Javascript 承诺链,承诺链对象
我想链接promise对象,但是第二个Javascript 承诺链,承诺链对象,javascript,promise,angular-promise,Javascript,Promise,Angular Promise,我想链接promise对象,但是第二个then块在链接的promise对象得到解决之前被执行的问题 service.webService1() .then(data => { if (data.flag) { // true return service.webService2() // returns a promise } return $q.resolve({}) }) .then(data => { // some lo
then
块在链接的promise对象得到解决之前被执行的问题
service.webService1()
.then(data => {
if (data.flag) { // true
return service.webService2() // returns a promise
}
return $q.resolve({})
})
.then(data => {
// some logic
// data is undefined here, should be the result of
// service.webService2() call
})
.catch(err => {
// err handling
})
问题是,我忘记在
service.webService2()
函数中返回我的承诺。谢谢:)如果执行了这一行return service.webService2()
,那么它的行为就不应该像你说的那样在第二个之后执行,那么块第二个中的数据
就是webService2
返回的数据吗?还请注意,您只需返回{}
,无需将然后
回调的结果包装在承诺中,然后
将自动为您执行该操作。可能需要检查webService2的实现,并检查它是否确实返回了承诺。也许你忘了那里有一个return
语句?当我调试时,webService2被执行,我确信data.flag
是true
而且我没有忘记return语句。你能说明工作代码与你问题中的代码有什么不同吗?