我在使用 MatDialog 时遇到了一个奇怪的问题。在我的主要组件中,我使用运行 webworker 的 @Injectable 服务在后台处理某些内容。处理完成后,服务打开 MatDialog。在此对话框中,有 2 个按钮(每个按钮都关闭对话框)。
close(result: boolean) {
this.dialogRef.close(result);
}
问题是它很少在我单击按钮后立即关闭,有时我必须等待 20 秒才能关闭。我注意到,在单击按钮并单击其他内容后,对话框会立即关闭(焦点丢失或其他内容?)。我认为关闭对话框的方式有问题,但我在主组件的 onInit 方法中运行它,它工作正常。这意味着它与异步代码有关。有谁知道如何解决它?