将辅助数据传递给我的第二个回调函数

我想在我的第二个回调中使用变量中间数据,但我不知道在我目前的情况下如何将它传递到那里。有人知道怎么做吗?


   const unsubscribe = firebase

     .locations()

     .once('value')

     .then(async snapshot => {

       const promises = []

       const intermediateData = snapshot.val()


       snapshot.forEach(element => {

         promises.push(firebase.user(element.key).once('value'))

       })


       return Promise.all(promises)

     })

     .then(snapshots => {

       const userInformation = []


       snapshots.forEach(userSnapshot => {

         if (userSnapshot.exists()) {

           userInformation.push({

             userId: 1,

             name: userSnapshot.val().username

           })

         }

       })

     })


   return () => unsubscribe

 }, [firebase, setSnackbarState, userId]) ```


泛舟湖上清波郎朗
浏览 144回答 2
2回答

慕工程0101907

您可以返回一个包含Promise.all结果的对象和intermediateDataconst unsubscribe = firebase  .locations()  .once('value')  .then(async snapshot => {      const promises = []      const intermediateData = snapshot.val()      snapshot.forEach(element => {        promises.push(firebase.user(element.key).once('value'))      })      return Promise.all(promises).then(snapshots => ({snapshots, intermediateData})                                                      // ^^ return object      })    .then(({snapshots, intermediateData}) => {           // ^^^ destructure returned object      const userInformation = []      snapshots.forEach(userSnapshot => {        if (userSnapshot.exists()) {          userInformation.push({            userId: 1,            name: userSnapshot.val().username          })        }      })    })

收到一只叮咚

将其放在外封口中:let intermediateData;const unsubscribe = firebase .locations() .once('value') .then(async snapshot => {   const promises = []   intermediateData = snapshot.val()   snapshot.forEach(element => {     promises.push(firebase.user(element.key).once('value'))   })   return Promise.all(promises) }) .then(snapshots => {   //   // Now you can access intermediateData here   //   // ... })
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript