【发布时间】:2018-01-12 18:10:36
【问题描述】:
Angular 和 Promise 的新手,但我意识到我已经做了很多:
this.myService.createFoo(data).subscribe(
(result: any) => {
resolve({success: true, data: result});
},
err => {
resolve({success: false, message: err});
});
this.myService.updateFoo(data).subscribe(
(result: any) => {
resolve({success: true, data: result});
},
err => {
resolve({success: false, message: err});
});
如何为我的订阅方法重写完成闭包,以免重复这样的代码?谢谢!
【问题讨论】:
-
您可以尝试使用
async和await,但我不确定这将是多么容易滑入您正在做的事情(不是非常熟悉角度或订阅)developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… -
resolve和reject是如何定义的?那些来自Promise构造函数,比如return new Promise((resolve, reject) => {...}),还是来自其他地方?如果您发布了一个更具包容性的代码示例,可能会有所帮助。 -
是的,就像你说的普通的
new promise ....。