【发布时间】:2016-01-08 12:52:46
【问题描述】:
我需要以某种方式链接 Promise,然后我发现 Promise 可以完成这项工作。
我的要求是这样的:
addressService.get 返回一个地址,一旦我得到这个地址并使用它进行另一个调用,它也返回一个 Promise。
所以我的代码是这样的:
class PersonService {
getPerson() {
addressService.get().then(({address}) => {
return 'http://localhost/${address}'
}).then(url) {
return new es6Promise.Promise(function(resolve, reject) {
ApiUtils.get(url, {}, {}, {
success: resolve, error: reject
});
});
}
}
}
PersonService's getPerson 也应该返回一个 Promise,这是我返回的第二个 Promise (ApiUtils.get)
但是,上面的代码似乎没有返回 Promise,因为当我在其他地方调用 PersonService.getPerson().then() 时,我得到了一个错误提示
Uncaught TypeError: Cannot read property 'then' of undefined
我错过了什么吗?
【问题讨论】:
-
你在
.then(url) {这行有语法错误并且get()没有返回返回的promise,请添加addressService.get的代码 -
那些真的是反引号,因为它们看起来像单引号。
标签: javascript ecmascript-6 es6-promise