下去一系列文档来检索值?

时间:2018-01-21 07:29:54

标签: javascript typescript promise google-cloud-functions

我有一系列故事,每个故事集都有一系列章节,每个章节都有一系列活动。

我正试图找出一个简单的方法来完成故事,章节和活动的选择,并将它们放在一个等效结构的json中。

到目前为止,我的代码看起来有些忙乱,我正在努力让它正常工作:

        var toRet:any = {}
        return storiesRef.get()
        .then((stories)=>{

            stories.docs.forEach((story)=>{

                var chaptersRef = story.ref.collection(CHAPTER)
                toRet[story.id] = story.data()

                return chaptersRef.get()
                .then((chapters)=>{
                    chapters.docs.forEach((chapter)=>{

                        toRet[story.id][chapter.id] = chapter.data()

                        var activitiesRef = chapter.ref.collection(ACTIVITY)
                        return activitiesRef.get()
                        .then((activities)=>{
                            activities.docs.forEach(activity => {
                                toRet[story.id][chapter.id][activity.id] = activity.data()
                            })
                        })
                    })
                })
            })
        })

上面的代码不起作用,但我没有尝试修复它,我觉得我必须缺少一些东西,因为我的任务应该是获得我想要的值的相当简单的中间。

有没有办法将promises链接在一起比这样深度嵌套的循环更有意义?

0 个答案:

没有答案