setTimeout 不适用于 Angular5
setTimeout not working with Angular5
this.fetchRequests(this) 在视图初始化后立即执行,而不是等待 20 秒。
我知道在旧版本中我们必须使用包装器,但我想在新版本中不需要这些。对此的任何帮助都会有所帮助。
ngAfterViewInit() {
setTimeout(()=>{
this.fetchRequests(this);
}), 10000;
}
将其包装在 zone.run()
.
中
首先,从 @angular/core
导入 NgZone
,并将其注入到您的组件中。
然后,将您的 ngAfterViewInit 修改为如下所示:
ngAfterViewInit() {
this.zone.run(() => {
setTimeout(()=>{
this.fetchRequests(this);
}, 10000);
});
}
我认为你写错了语法
此代码
setTimeout(()=>{
this.fetchRequests(this);
}), 10000;
应该是这样的
setTimeout(()=>{ this.fetchRequests(this); },1000);
你的语法有误
函数一有两种语法,这是新的语法
setTimeout(()=>{
this.fetchRequests(this);
},1000);
下面的第二个语法是旧语法,您可以同时使用它们
setTimeout(function(){
this.fetchRequests(this);
},1000);
两者都可以在 Angular 9- Typescript 和 Nodejs 和最新的 javascript 版本中使用
this.fetchRequests(this) 在视图初始化后立即执行,而不是等待 20 秒。
我知道在旧版本中我们必须使用包装器,但我想在新版本中不需要这些。对此的任何帮助都会有所帮助。
ngAfterViewInit() {
setTimeout(()=>{
this.fetchRequests(this);
}), 10000;
}
将其包装在 zone.run()
.
首先,从 @angular/core
导入 NgZone
,并将其注入到您的组件中。
然后,将您的 ngAfterViewInit 修改为如下所示:
ngAfterViewInit() {
this.zone.run(() => {
setTimeout(()=>{
this.fetchRequests(this);
}, 10000);
});
}
我认为你写错了语法 此代码
setTimeout(()=>{
this.fetchRequests(this);
}), 10000;
应该是这样的
setTimeout(()=>{ this.fetchRequests(this); },1000);
你的语法有误
函数一有两种语法,这是新的语法
setTimeout(()=>{
this.fetchRequests(this);
},1000);
下面的第二个语法是旧语法,您可以同时使用它们
setTimeout(function(){
this.fetchRequests(this);
},1000);
两者都可以在 Angular 9- Typescript 和 Nodejs 和最新的 javascript 版本中使用