如果此功能与我的服务有关,我想发布一个新请求,如何继续?谢谢
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°在我的模板中,我点击执行 my component 的功能deleteUnicorn 的按钮。
--- 2° deleteUnicorn功能将参数发送到我的服务中的 updateUnicorn功能,该功能会向Firestore发送请求修改数据库中的内容。
- 3°我希望,当功能完成并且有效时,能够执行一个新功能,该功能将修改用户在数据库的另一个表中的钱。
答案 0 :(得分:2)
你可以链接承诺。更改updateUnicorn()方法以返回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()将保持不变。