[英]How to call one Promise function from another Promise function in Angular 2?
我有一個函數返回一個Promise,而該函數需要調用另一個返回Promise的函數:
getUser(): Promise<User> {
this.getAPIUser().then(result => {
..Do some stuff with result..
return Promise.resolve(result); // This doesn't work
});
}
getAPIUser(): Promise<User> {
return Promise.resolve({ firstName: 'Jason' });
}
我認為這不起作用,因為getUser“ return Promise.resolve”是在getAPIUser然后處理程序的上下文中。 在Angular 1中,這真的很容易,您只需實例化$ q對象,然后在需要的地方解析該對象。 我不知道什么是Angular 2 / Typescript / EM6中的等效項。
任何幫助,將不勝感激。
您的getUser
方法根本不返回承諾。
當您在promise上調用then
方法時,它將返回Promise
,這就是您的方法需要返回的內容:
getUser(): Promise<User> {
return this.getAPIUser().then(result => {
..Do some stuff with result..
return result;
});
}
為了完整起見,這同樣適用:
getUser(): Promise<User> {
return new Promise((resolve) => {
this.getAPIUser().then(user => {
resolve(user);
})
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.