And*_*ini 3 javascript typescript ionic2 angular
我正在尝试创建一个函数,它返回一个Promise作为代码:(someprovider.ts)
postToPaymentApi(url:string, data:string, options:RequestOptions, order:Order):Promise<any>{
let result = this.http.post(url, data, options).map(res => res.json())
.subscribe(data => {
// all my logic here!
});
}, error => {
console.log(error)
})
return new Promise((resolve)=>{
resolve(result)
})
Run Code Online (Sandbox Code Playgroud)
}
问题是,当我调用这个函数时,我没有得到数据,因为这个帖子需要几秒钟才能完成,我在完成后得到了承诺.
this.postToPaymentApi(url, data, options, order).then(data => {
console.log(data);
})
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
如果你想创建一个返回promise的函数,你的函数应该是:
postToPaymentApi(url:string, data:string, options:RequestOptions, order:Order):Promise<any >{
return new Promise((resolve, reject) => {
this.http.post(url, data, options)
.map(res => res.json())
.subscribe(data => {
resolve(data);
}
}, error => {
console.log(error)
reject({error: error});
});
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2332 次 |
| 最近记录: |