aurelia - 可能在 Aurelia 中等待自定义元素中的 promise 在执行继续之前完成?

标签 aurelia

如果您有一个 Aurelia 应用程序,例如。导航栏中的“语言切换器”自定义元素。假设这些语言将从数据库调用中获取并通过 promise 返回。

我现在实现它的方式是在我的自定义元素的 bind() 函数中调用 fetch,它返回一个 promise ,但我的问题是......如果这个数据库请求需要几秒钟才能完成怎么办?完成 - 理想情况下,我不希望我的应用程序的其余部分在返回此 promise 之前运行,因为许多其他元素取决于来自语言切换器自定义元素的语言 ID。

我需要的是能够保证一旦应用程序到达我的导航栏中的自定义元素“语言切换器”,它需要阻止/暂停/等待数据库获取调用返回并解决它的 promise ,在继续处理申请之前。

最佳答案

您可以使用路由 View 模型的 activate() 钩子(Hook)。例如:

屏幕1.js

export class Screen1 {

   activate() {
     //database call
     return myPromise
       .then(result => this.result = result);
   }
}

屏幕1.html

<template>
   <require from="./language-switcher"></require>

   <language-switcher some-property.bind="result"></language-switcher>
</template>

有关详细信息,请阅读 http://aurelia.io/hub.html#/doc/article/aurelia/framework/latest/cheat-sheet/7

关于aurelia - 可能在 Aurelia 中等待自定义元素中的 promise 在执行继续之前完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40304882/

相关文章:

javascript - 如何在 View 外评估 Aurelia 插值表达式?

使用 setRoot 切换到其他应用程序时,Aurelia 会清除路线历史记录

javascript - Aurelia:如何在激活期间在 View 模型上设置属性?

javascript - 使用 aureliajs 和 babel-polyfill 时 IE11 中出现堆栈空间不足错误

javascript - Aurelia 模板中的调用方法

aurelia - aurelia 应用程序中的范围

javascript - Aurelia 中的全局函数

aurelia - 如何自定义 ag-grid 图标?

aurelia - 在具有复杂域对象的 Aurelia 中启用和禁用保存按钮的最佳方法是什么?

css - 如何在我的 Aurelia 应用程序中导入包