【发布时间】:2013-12-08 13:59:36
【问题描述】:
我有以下代码:
authService.authenticate()
.then(function (user) {
return Task.all({user: user})
})
.then(function (tasks) {
// How to access user object here?
})
是否有一些内置方法可以将 user 对象传递给第二个 then 函数,而无需执行以下操作:
var user2 = null;
authService.authenticate()
.then(function (user) {
user2 = user
return Task.all({user: user})
})
.then(function (tasks) {
// Use user2 here
})
或者这个:
authService.authenticate()
.then(function (user) {
var defer = $q.defer()
Task.all({user: user}).then(function (tasks) {
return defer.resolve(user, tasks)
})
return defer.promise
})
.then(function (user, tasks) {
// Use user2 here
})
或者通过直接在Task.all 上调用第二个then 来嵌套它们(这样我就可以通过闭包获得user 对象)?
嵌套它们正是我想要避免的。
【问题讨论】:
标签: javascript angularjs promise