AK_*_*AK_ 9 javascript asynchronous promise angular
这是我的模板的片段:
<div class="explanation">
{{ foo() | async }}
</div>
Run Code Online (Sandbox Code Playgroud)
这是函数:
foo(): Promise<string> {
return Promise.resolve('hello');
}
Run Code Online (Sandbox Code Playgroud)
这只会挂起浏览器。怎么会?我缺少什么?
警告:不要对解析为自身的 thenable 调用 Promise.resolve。这将导致无限递归,因为它试图压平看似无限嵌套的承诺。
和
模板表达式的求值不应有明显的副作用。表达语言本身就可以保证您的安全。您不能为属性绑定表达式中的任何内容分配值,也不能使用递增和递减运算符。
您的实现似乎就是这样做的。
使固定:
按照wandream的建议,将promise分配给一个属性,然后在模板中与管道一起使用该属性async:
import { Component } from '@angular/core';
@Component({...})
export class AppComponent {
foo: Promise<string>;
ngOnInit() {
this.foo = Promise.resolve('hello');
}
}
Run Code Online (Sandbox Code Playgroud)
并在模板中:
<div class="explanation">
{{ foo | async }}
</div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5550 次 |
| 最近记录: |