Angular7 异步管道崩溃应用程序
Angular7 async pipe crashes application
<!-- .html -->
<div class="modal-body">
{{ doMath() | async }}
</div>
// .ts
async doMath() {
const res = {};
return await this.orderCollection.get()
.then(querySnapshot => {
querySnapshot.forEach(doc => {
const data = doc.data();
data.owners.reduce((acum, cur) => {
acum[cur] = (acum[cur] || 0) + data.price;
return acum;
}, res);
});
return res;
});
}
我正在尝试使用 Async Pipe 显示此函数的结果,但我的浏览器崩溃并且内存不足。
顺便说一句,如果我在 .ts
文件中 运行 这个异步函数并将 return 结果设置为一个变量,那么代码工作正常。
我在这里缺少什么?
P.S。如果我用简单的 Promise
替换此代码,它也会崩溃。
使用异步管道时无需使用:
return await this.orderCollection.get()
您需要做的是过滤您想要的数据并使用| async
后缀。
在 angular 中阅读有关异步管道的更多信息:https://angular.io/api/common/AsyncPipe
<!-- .html -->
<div class="modal-body">
{{ doMath() | async }}
</div>
// .ts
async doMath() {
const res = {};
return await this.orderCollection.get()
.then(querySnapshot => {
querySnapshot.forEach(doc => {
const data = doc.data();
data.owners.reduce((acum, cur) => {
acum[cur] = (acum[cur] || 0) + data.price;
return acum;
}, res);
});
return res;
});
}
我正在尝试使用 Async Pipe 显示此函数的结果,但我的浏览器崩溃并且内存不足。
顺便说一句,如果我在 .ts
文件中 运行 这个异步函数并将 return 结果设置为一个变量,那么代码工作正常。
我在这里缺少什么?
P.S。如果我用简单的 Promise
替换此代码,它也会崩溃。
使用异步管道时无需使用:
return await this.orderCollection.get()
您需要做的是过滤您想要的数据并使用| async
后缀。
在 angular 中阅读有关异步管道的更多信息:https://angular.io/api/common/AsyncPipe