i有一个父组件A,子组件b和服务c,用于成功或失败地加载加载弹出服务。
在B子组件中有一个名为newchanges的按钮,b组件发出值并在组件中调用该函数,并且该服务调用中有一个服务调用。
在连续单击子组件b newchanges按钮的同时,我遇到了error.application.tick递归调用。
如果我不使用application.tick,则正在加载的diolog没有关闭,因此我已在服务中的应用程序ref中使用过。它是所有模块的全球服务。
任何人都可以解决:
这是在服务调用成功和关闭加载器失败时使用的加载器服务。
exitLoader = ():void => {
setTimeout(() => {
console.log('tick1');
this.matLoader.close();
this.applicationRef.tick();
}, 50);
}
我需要关闭作为另一项服务成功和失败中使用的服务的加载程序,当我不使用应用程序引用时,它没有关闭,因此在单击后连续使用此服务,我一直在使用该服务,提到的错误。
我尝试使用zone,加载器未关闭的另一个选项:
// setTimeout(() => {
// this.zone.runOutsideAngular(() => {
// this.matLoader.close();
// });
// }, 100);