Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.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 如何与firestore做出适当的承诺_Javascript_Firebase_Google Cloud Firestore_Angularfire - Fatal编程技术网

Javascript 如何与firestore做出适当的承诺

Javascript 如何与firestore做出适当的承诺,javascript,firebase,google-cloud-firestore,angularfire,Javascript,Firebase,Google Cloud Firestore,Angularfire,我想从消防商店得到一个承诺 我这样做: return new Promise<Article[]>(res => { this.db .collection('articles', ref => ref.orderBy('date_modification', 'desc')) .snapshotChanges() .pipe(map(r => r.map(rel => {

我想从消防商店得到一个承诺

我这样做:

return new Promise<Article[]>(res => {
      this.db
        .collection('articles', ref => ref.orderBy('date_modification', 'desc'))
        .snapshotChanges()
        .pipe(map(r =>
          r.map(rel => {
            let data = rel.payload.doc.data() as Article;
            data.id = rel.payload.doc.id;
            return data;
          })
        )).subscribe(bl => res(bl));
    })
但问题是,从订阅的第一批数据开始,承诺就已经兑现了。 我该怎么做,等待订阅完成


提前感谢。

我不能100%确定我是否理解您的问题,但您可以尝试使用而不是订阅