質問編集履歴

1

解決しました

2020/10/16 10:23

投稿

cypherys
cypherys

スコア1

test CHANGED
File without changes
test CHANGED
@@ -96,8 +96,64 @@
96
96
 
97
97
 
98
98
 
99
- ### 補足情報FW/ツールのバージョンなど
99
+ ### 追記解決しました。
100
100
 
101
101
 
102
102
 
103
+ 回答いただいた方法を参考に実装できたように思っていたコードでは非同期の完了が待てていませんでした。
104
+
105
+ 試行錯誤の後、下記コードでうまく動くようになりました!
106
+
107
+
108
+
109
+ ```
110
+
111
+ export const fetchPosts = (docIDs) => {
112
+
113
+ return async (dispatch) => {
114
+
115
+ // PostsコレクションからPost_idでデータ取得
116
+
117
+ if (docIDs !== undefined) {
118
+
103
- ここにより詳細な情報を記載してください。
119
+ const postlist = []
120
+
121
+ const fetchPost = docIDs.map(async (postId) => {
122
+
123
+ await postsRef.doc(postId).get()
124
+
125
+ .then((snapshot) => {
126
+
127
+ const data = snapshot.data()
128
+
129
+ postlist.push(data)
130
+
131
+ })
132
+
133
+ return postlist
134
+
135
+ });
136
+
137
+
138
+
139
+ const arraylength = fetchPost.length - 1;
140
+
141
+ fetchPost[arraylength].then((result) => {
142
+
143
+ result.sort((a, b) => {
144
+
145
+ if(a.created_at > b.created_at) return -1;
146
+
147
+ if(a.created_at < b.created_at) return 1;
148
+
149
+ return 0;
150
+
151
+ })
152
+
153
+ dispatch(fetchPostsAction(result))
154
+
155
+ })
156
+
157
+ }
158
+
159
+ ```