Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular7异步管道崩溃应用程序_Javascript_Angular_Promise_Es6 Promise_Angular Promise - Fatal编程技术网

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()