![]() |
1
1
我将尽量简化描述:
回到您的问题:您不知道何时调用setTimeout代码,但理论上它将在订阅之前被调用(javascript引擎比http响应更快)。
如果仅在从http请求获取数据之后才需要初始化某些数据表结构,则应将其放入
|
![]() |
2
1
1) 视情况而定。订阅仅在操作完成时执行代码。所以,当
3) AfterViewInit被多次激发。你可以这样检查
4) 你应该 总是 避免使用settimeout(仅用于调试目的)。 编辑: 恩戈尼尼特(){
} 让我们简单地说一下这段代码:
此代码的输出将是:
但为什么呢?
你可以想象,当你和两个人走在一起:一个懂英语,一个不懂英语。所以,即使你先对一个不懂英语的人说“你好吗”,他也需要时间来理解你说的话并回答你。同时,另一个懂英语的人马上回答你。
例如
希望能解释清楚这一点。 现在让我们继续 ,让我们使用超时:
你不可能知道的。
如果您想知道原因,那么很简单:您确切地知道functionB将在500毫秒后被调用,但是您不知道订阅将花费多少时间来准备。所以如果你很幸运,你的订阅通常需要500毫秒才能完成,你可以尝试重新加载页面几次,有时你会看到
以更好的方式回答你的问题:我真的不知道你为什么要这样写代码,简直不知道。
ngAfterViewInit是一个
|
![]() |
3
0
1 不,setTimeout将只在subscribe作为其上下文外部调用之前调用一次。 2 三。 4 ngOnInit生命周期钩子在DOM更新操作之前触发,不会给出任何错误。ngOnInit生命周期钩子在绑定处理后触发。ngAfterViewInit在视图最初呈现时调用,即在创建组件的视图及其子视图之后调用。 5 应在创建组件的视图及其子视图之后调用ngAfterViewInit(),最重要的是在父级的ngAfterViewInit()之前调用子级的ngAfterViewInit()。 |
![]() |
Mer · 文本输入中的打字机效果在Firefox中不起作用 7 年前 |
![]() |
Abido · setTimeout节点内存泄漏(Meteor) 7 年前 |
![]() |
aman.s · 选中复选框5秒后刷新JavaScript页面 7 年前 |
![]() |
Sanju · 如何在每次函数调用之前等待setTimeout? 7 年前 |
![]() |
Alperb · 如何在按键功能中设置超时功能 7 年前 |
![]() |
DannyArcher · 我可以在设置间隔中插入多个设置超时吗? 7 年前 |