配列のonSnapshotリスナーを作成することは可能ですか?

ExcessJudgement

私にはユーザーがいます...各ユーザーには、メンバーである複数のグループがあります。各ユーザーグループのメンバーシップは、ユーザードキュメントに埋め込まれた配列です。タスクコレクションがあり、各タスクには、ユーザーのグループに対応するauthorizedGroupsの配列が含まれています。ほとんどのタスクにはauthorizedGroupが1つだけありますが、いくつかのタスクにはいくつかのグループがあります。タスクは、あるユーザーによって別のユーザーに割り当てられます。

ユーザーが利用できるすべてのタスクをクエリし、クエリごとにリスナーを配置したいと思います。

get()の使用は成功しましたが、私が望んでいたアクティブなリスナーを提供しません。グループごとにリスナーを生成する方法はありますか?onSnapshotメソッドはpromiseを返しません。この目標をどのように達成できるかわからない。任意の提案をいただければ幸いです。

created() {
  const getTasksPerGroup = async (groups) => {
  // Make a get request using each group in users group membership list
     const queries = groups.map((group) => {
        return this.$store.state.db
             .collection('tasks')
             .where('authorizedGroups', 'array-contains', group)
             .where('taskAssignedTo', '==', this.$store.state.auth.user.displayName)
             .get()
      })

  // Use Await Promise.all to acquire an array of querySnapshots
  const result = await Promise.all(queries).then((querySnapshot) => {
     return querySnapshot.map((querySnapshot) => querySnapshot.docs).reduce((acc, docs) => [...acc, ...docs])})

  //Result is an array of querySnapshots...pushing each qs.data() to the tasks array
      let tasks = []
      result.forEach((qs) => {
         let item = qs.data()
         tasks.push(item)
         console.log('tasks:', tasks)
         this.$store.commit('tasks/mutate_tasksArray', tasks)
       })
 }
  // Invoke async function that gets the user's groups array
        getTasksPerGroup(this.allFirmGroups)
}
ダグスティーブンソン

を使用してget()、Promiseを返し、1セットの結果を提供するかonSnapshot()、リスナーの停止を制御できるのは自分だけであるため、Promiseを返さない永続リスナーをアタッチするために使用できます

複数のクエリの結果を聞きたい場合は、それぞれにリスナーを追加する必要があります。聞き取りが終わったら、Firestore SDKから返される約束の助けを借りずに、リスナーの購読を解除します。 。リスナーを追加および削除するタイミングを決定するのはあなた次第です。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

p5JavaScriptでオブジェクトの配列リストを作成することは可能ですか?

分類Dev

C ++でコンストラクターの配列を作成することは可能ですか?

分類Dev

配列c#のコンストラクターを作成することは可能ですか?

分類Dev

配列リストのforeachループで列を指定することは可能ですか?c#

分類Dev

BinData :: Recordインスタンスからバイナリ配列を取得することは可能ですか?

分類Dev

valaで混合配列を作成することは可能ですか?

分類Dev

Androidの配列からフォームフィールドのリストを作成することは可能ですか?

分類Dev

「0×0」の行列(または配列)を作成することは可能ですか?

分類Dev

可変数の要素で配列を作成することは可能ですか?

分類Dev

配列を関数のパラメーターのリストに変えることは可能ですか?

分類Dev

リスナーへの参照を維持することを回避することは可能ですか?

分類Dev

JavaFXでコントローラーの配列を作成することは可能ですか?

分類Dev

システムバイナリのカスタムフラグを作成することは可能ですか?

分類Dev

構造体インスタンスの配列を作成することは可能ですか?

分類Dev

Postgresのjsonの配列からリストとしてjson値を取得することは可能ですか?

分類Dev

C ++でオブジェクト配列のキューを作成することは可能ですか?

分類Dev

リストまたは配列でインクストロークを保存することは可能ですか?

分類Dev

Androidで無限の整数スピナーを作成することは可能ですか?

分類Dev

構造体ノードタイプの配列を作成することは可能ですか?

分類Dev

Pythonでリストから配列への変換を高速化することは可能ですか?

分類Dev

GKEのリージョナルクラスターにゾーンのみのノードプールを作成することは可能ですか?

分類Dev

クリックハウスのクエリ結果からフラット配列を作成することは可能ですか?

分類Dev

Android Studioで翻訳可能な任意のXMLリソースを作成することは可能ですか?

分類Dev

テナント内のすべてのチームのリストを取得することは可能ですか?

分類Dev

BehaviorSubjectを配列ストリームにキャストすることは可能ですか?

分類Dev

カスタムストリームを作成することは可能ですか?

分類Dev

リストに複数の配列値を追加することはscalaで可能ですか?

分類Dev

一定の余分なスペースで配列を反転することは可能ですか?

分類Dev

docker:バイナリとパッケージがインストールされた単一のファイルを作成することは可能ですか?

Related 関連記事

  1. 1

    p5JavaScriptでオブジェクトの配列リストを作成することは可能ですか?

  2. 2

    C ++でコンストラクターの配列を作成することは可能ですか?

  3. 3

    配列c#のコンストラクターを作成することは可能ですか?

  4. 4

    配列リストのforeachループで列を指定することは可能ですか?c#

  5. 5

    BinData :: Recordインスタンスからバイナリ配列を取得することは可能ですか?

  6. 6

    valaで混合配列を作成することは可能ですか?

  7. 7

    Androidの配列からフォームフィールドのリストを作成することは可能ですか?

  8. 8

    「0×0」の行列(または配列)を作成することは可能ですか?

  9. 9

    可変数の要素で配列を作成することは可能ですか?

  10. 10

    配列を関数のパラメーターのリストに変えることは可能ですか?

  11. 11

    リスナーへの参照を維持することを回避することは可能ですか?

  12. 12

    JavaFXでコントローラーの配列を作成することは可能ですか?

  13. 13

    システムバイナリのカスタムフラグを作成することは可能ですか?

  14. 14

    構造体インスタンスの配列を作成することは可能ですか?

  15. 15

    Postgresのjsonの配列からリストとしてjson値を取得することは可能ですか?

  16. 16

    C ++でオブジェクト配列のキューを作成することは可能ですか?

  17. 17

    リストまたは配列でインクストロークを保存することは可能ですか?

  18. 18

    Androidで無限の整数スピナーを作成することは可能ですか?

  19. 19

    構造体ノードタイプの配列を作成することは可能ですか?

  20. 20

    Pythonでリストから配列への変換を高速化することは可能ですか?

  21. 21

    GKEのリージョナルクラスターにゾーンのみのノードプールを作成することは可能ですか?

  22. 22

    クリックハウスのクエリ結果からフラット配列を作成することは可能ですか?

  23. 23

    Android Studioで翻訳可能な任意のXMLリソースを作成することは可能ですか?

  24. 24

    テナント内のすべてのチームのリストを取得することは可能ですか?

  25. 25

    BehaviorSubjectを配列ストリームにキャストすることは可能ですか?

  26. 26

    カスタムストリームを作成することは可能ですか?

  27. 27

    リストに複数の配列値を追加することはscalaで可能ですか?

  28. 28

    一定の余分なスペースで配列を反転することは可能ですか?

  29. 29

    docker:バイナリとパッケージがインストールされた単一のファイルを作成することは可能ですか?

ホットタグ

アーカイブ