Javascript Angular7异步管道崩溃应用程序
我试图使用异步管道显示此函数的结果,但我的浏览器崩溃,内存崩溃 顺便说一句,如果我在Javascript Angular7异步管道崩溃应用程序,javascript,angular,promise,es6-promise,angular-promise,Javascript,Angular,Promise,Es6 Promise,Angular Promise,我试图使用异步管道显示此函数的结果,但我的浏览器崩溃,内存崩溃 顺便说一句,如果我在.ts文件中运行此异步函数并将返回结果设置为变量,代码工作正常 我错过了什么 另外,如果我用simplePromise替换此代码,它也会崩溃。使用异步管道时,无需使用: 您需要做的是过滤所需的数据并使用| async后缀 阅读有关angular中异步管道的更多信息:使用异步管道时,无需使用: 您需要做的是过滤所需的数据并使用| async后缀 阅读angular中有关异步管道的更多信息:您对该函数的实际期望是
.ts
文件中运行此异步函数并将返回结果设置为变量,代码工作正常
我错过了什么
另外,如果我用simple
Promise
替换此代码,它也会崩溃。使用异步管道时,无需使用:
您需要做的是过滤所需的数据并使用| async
后缀
阅读有关angular中异步管道的更多信息:使用异步管道时,无需使用: 您需要做的是过滤所需的数据并使用
| async
后缀
阅读angular中有关异步管道的更多信息:您对该函数的实际期望是什么?它实际上似乎很模糊。@jonrsharpe我需要一个对象,正如我前面提到的,当在.ts文件中使用.then调用它并将返回值赋给某个变量时,该函数按预期工作。异步管道应该使用可观察对象和承诺。创建一个observale并将其用作html文件中的数据源,然后使用当前函数填充observale值,或者更改此函数并省略wait部分并从此函数返回承诺,成功检索数据后,只需解决承诺。问题是此函数
return waitthis.orderCollection.get()
您不应该调用wait
关键字,因为您正在视图中使用async pipe
,您对该函数的实际期望是什么?它实际上似乎很模糊。@jonrsharpe我需要一个对象,正如我前面提到的,当在.ts文件中使用.then调用它并将返回值赋给某个变量时,该函数按预期工作。异步管道应该使用可观察对象和承诺。创建一个observale并将其用作html文件中的数据源,然后使用当前函数填充observale值,或者更改此函数并省略wait部分并从此函数返回承诺,成功检索数据后,只需解决承诺。问题是此函数return waitthis.orderCollection.get()
您不应该调用wait
关键字,因为您在视图中使用的是异步管道
<!-- .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;
});
}
return await this.orderCollection.get()