Angular 5-检查服务器错误

Angular 5-检查服务器错误,angular,angular5,angular6,Angular,Angular5,Angular6,也许这不是很难,但我不知道怎么做,我只是开始编程 ItemDeleteComponent是一个是否确实要删除的组件,是或否,在“是”中,我要显示已删除的snackbar!这很好,但在“否”中,我不想显示消息失败。当服务器出现问题时,我想显示消息失败。我不知道如何让别人一步一步地向我解释。 希望你能理解我:) ItemDeleteComponent: 是的: 否: 目前,您的快餐店逻辑基于对话框关闭操作的结果(代码未显示,但我怀疑dialogRef.afterClosed()Observable返

也许这不是很难,但我不知道怎么做,我只是开始编程

ItemDeleteComponent是一个是否确实要删除的组件,是或否,在“是”中,我要显示已删除的snackbar!这很好,但在“否”中,我不想显示消息失败。当服务器出现问题时,我想显示消息失败。我不知道如何让别人一步一步地向我解释。 希望你能理解我:)

ItemDeleteComponent:

是的:

否:


目前,您的快餐店逻辑基于对话框关闭操作的结果(代码未显示,但我怀疑
dialogRef.afterClosed()
Observable返回的'result'变量表示对话框的积极/消极操作)

如果您想根据服务器请求的结果建立快餐店逻辑,最好在进行api调用时订阅Promise结果:

onDeleteArtisti(id: number) {
  this.apiService.deleteArtist(id).toPromise()
   .then(success => this.matSnackBar.open('Deleted!', 'OK', {
          duration: 2000,
        }), error => this.matSnackBar.open('Failed', 'OK', {
          duration: 2000,
        })
   );
   this.dialogRef.close(); 
}
有关更多信息,请查看承诺和可观察事项的文档:


还要检查对话框组件的文档,了解
dialogRef.afterClosed()
observable()返回的值是什么。

您也已经开始在代码块中使用StackOverflow-paste和format code。此外,没有
if(variable){}else(variable){}
rly编译?您必须向我们展示您如何实际关闭对话框(也就是说,您如何对“是/否”按钮做出反应)。因此,实际的对话框代码将是最佳的对话框是/否代码,当您关闭对话框时,您可以传递对话框结果-该值将在关闭后发出,这意味着您现在可以检查其他结果,例如如果(result=='Deleted')执行此操作,否则如果(result=='serverError')显示其他错误…我添加了yes/no组件的代码谢谢cghislai它与您的方法一起工作:)sry我忘了谢谢您
async onDeleteArtisti(id: number) {
await this.apiService.deleteArtist(id).toPromise();
  this.dialogRef.close(); }
  closeDialog() {
this.dialogRef.close(); }
onDeleteArtisti(id: number) {
  this.apiService.deleteArtist(id).toPromise()
   .then(success => this.matSnackBar.open('Deleted!', 'OK', {
          duration: 2000,
        }), error => this.matSnackBar.open('Failed', 'OK', {
          duration: 2000,
        })
   );
   this.dialogRef.close(); 
}