Angular 5,如果第一个功能有效,则执行新功能
Angular 5, execute new function if the first function works
如果与我的服务相关的此功能有效,我想发起一个新请求,如何进行?谢谢
test.component.ts
destroyUnicorn(item){
this.itemService.updateUnicorn( {
statut: "destroyed",
id: item.id
});
}
item.service.ts
updateUnicorn(item) {
this.itemDoc = this.afs.doc("unicorns/${item.id}");
this.itemDoc.update(item) <------ FireStore request
.then(function() {})
.catch(function() {});
}
全局构想:
-- 1° 在我的模板中,我点击了一个执行我的组件的函数deleteUnicorn的按钮。
--- 2°deleteUnicorn函数将参数发送到my services[=]中的updateUnicorn函数 35=],向Firestore发送修改数据库内容的请求。
-- 3 ° 我希望,当函数完成并运行时,能够执行一个新函数,该函数将修改数据库另一个 table 中的用户资金。
您可以连锁承诺。更改 updateUnicorn() 方法以 return a resolved promise 然后添加您想要的功能:
destroyUnicorn(item){
this.itemService.updateUnicorn( {
statut: "destroyed",
id: item.id
})
.then(function(something) {
// This will execute if updateUnicorn resolves.
});
}
并且在您的 updateUnicorn 方法中:
updateUnicorn(item) {
this.itemDoc = this.afs.doc("unicorns/${item.id}");
this.itemDoc.update(item) <------ FireStore request
.then(function(something) {
return Promise.resolve(something);
})
.catch(function() {});
}
此外,如果您不需要使用 itemDoc.update() 方法的响应,您可以像这样简单地更新函数:
updateUnicorn(item) {
this.itemDoc = this.afs.doc("unicorns/${item.id}");
return this.itemDoc.update(item);
}
并且 destroyUnicorn() 将保持不变。
如果与我的服务相关的此功能有效,我想发起一个新请求,如何进行?谢谢
test.component.ts
destroyUnicorn(item){
this.itemService.updateUnicorn( {
statut: "destroyed",
id: item.id
});
}
item.service.ts
updateUnicorn(item) {
this.itemDoc = this.afs.doc("unicorns/${item.id}");
this.itemDoc.update(item) <------ FireStore request
.then(function() {})
.catch(function() {});
}
全局构想:
-- 1° 在我的模板中,我点击了一个执行我的组件的函数deleteUnicorn的按钮。
--- 2°deleteUnicorn函数将参数发送到my services[=]中的updateUnicorn函数 35=],向Firestore发送修改数据库内容的请求。
-- 3 ° 我希望,当函数完成并运行时,能够执行一个新函数,该函数将修改数据库另一个 table 中的用户资金。
您可以连锁承诺。更改 updateUnicorn() 方法以 return a resolved promise 然后添加您想要的功能:
destroyUnicorn(item){
this.itemService.updateUnicorn( {
statut: "destroyed",
id: item.id
})
.then(function(something) {
// This will execute if updateUnicorn resolves.
});
}
并且在您的 updateUnicorn 方法中:
updateUnicorn(item) {
this.itemDoc = this.afs.doc("unicorns/${item.id}");
this.itemDoc.update(item) <------ FireStore request
.then(function(something) {
return Promise.resolve(something);
})
.catch(function() {});
}
此外,如果您不需要使用 itemDoc.update() 方法的响应,您可以像这样简单地更新函数:
updateUnicorn(item) {
this.itemDoc = this.afs.doc("unicorns/${item.id}");
return this.itemDoc.update(item);
}
并且 destroyUnicorn() 将保持不变。