【问题标题】:Angular Wait until function has been executedAngular 等待函数执行完毕
【发布时间】:2018-10-22 13:43:55
【问题描述】:

我目前正在 Angular 中编写一个页面。一旦调用了一个页面,OnInit 方法就用于执行一个初始化多个变量的函数。完成后,应该使用 if 查询来检查变量是否具有特定值(在之前的函数中初始化)。

如何确保在函数完成之前不进行 if 查询?

启动应用程序时是否可以执行功能?

【问题讨论】:

  • 您可以使用ObservablesSubjects 甚至Promises 来执行此类任务,假设您使用的是Angular 2+(通常也称为Angular)。你能分享一下相关代码吗?就像你说的组件控制器和著名的if
  • 最好将您迄今为止所做的工作与您的代码一起分享。
  • 第一个问题是初始化是同步的(比如 let this.a = 3)还是异步的(比如调用后端时)。

标签: angular


【解决方案1】:

最好在组件的构造函数中初始化一些变量,然后在 onInit 函数中执行 if 检查。 Angular 的生命周期钩子在 onInit 函数之前执行了构造函数代码。

【讨论】:

    【解决方案2】:

    在函数中添加查询内容?或者将函数转换为订阅或承诺,然后在解决后执行某些操作?

    Observable.subscribe(value=> { // 在这里做点什么 });

    Promise.then(value => // 在这里做点什么);

    甚至可能调用该函数或函数中的代码,您需要等待完成。

    您可以在启动应用程序引导时执行一个函数。

    您必须为此恢复承诺并遵循这一点 - 可能已针对 v6 进行了更改,但应该是类似的概念。

    Angular 2: Call service before bootstrap

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-27
      • 2020-04-07
      • 2015-09-16
      • 2019-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-11
      相关资源
      最近更新 更多