Javascript 浏览器';s调试器不同于角度';设置超时()?

Javascript 浏览器';s调试器不同于角度';设置超时()?,javascript,node.js,angular,dom-events,Javascript,Node.js,Angular,Dom Events,我正在开发一个angular应用程序,它嵌入到一个我无法访问的应用程序中。我正在使用路由器在弹出模式确定后从一页移动到另一页(复选框和按钮)。我必须确保模式在移动到下一页之前已被销毁,否则外部页面会导致问题。我尝试过使用*ngif=“destroyModal”。它起作用了,但没有及时发生 当我使用this.myRequestService.update…将浏览器的调试器设置为在第行停止操作时,它似乎停止了操作,使我的模式销毁工作正常。如果我在下一行(在被调用的方法中)使用调试器断点,它将不起作用

我正在开发一个angular应用程序,它嵌入到一个我无法访问的应用程序中。我正在使用路由器在弹出模式确定后从一页移动到另一页(复选框和按钮)。我必须确保模式在移动到下一页之前已被销毁,否则外部页面会导致问题。我尝试过使用
*ngif=“destroyModal”
。它起作用了,但没有及时发生

当我使用
this.myRequestService.update…
将浏览器的调试器设置为在第行停止操作时,它似乎停止了操作,使我的模式销毁工作正常。如果我在下一行(在被调用的方法中)使用调试器断点,它将不起作用

public goToPageTwo():void{
this.myObject={};
this.myRequestService.updateNextPg(this.myObject).subscribe((nextPageResponse)=>{
this.nextPageService.setData(nextPagesResponse);
this.router.navigateByUrl(下一页);
}
}
我尝试了几种方法来设置超时(()=>this.router.navigateByUrl(下一页),2000)但这似乎没有任何效果。唯一允许模式销毁发生的停止是由调试器断点提供的停止


我不能要求用户这样做:(

您应该在生命周期事件中使用页面导航

myClass{
...
恩贡德斯特罗(){
//在这里做
}
}

当组件关闭并清理时,您可能希望在此处进行页面导航。

我认为您的设置超时有拼写错误。navidageByUrl与navigateByUrl不同。这仅仅是拼写错误吗?抱歉,工作笔记本电脑的副本中有错别字,现已修复。谢谢。您使用的是什么模式组件?一些如果他们公开了一个你可以监听的“onclosed”事件。有些人甚至公开了一个你可以锁定的可观察事件或承诺。这个答案并没有解决我的特定问题,设置超时与浏览器断点不同,但这肯定是另一个可以尝试的有效选项。谢谢!