小编Sor*_*gim的帖子

等待所有 firebase 调用完成 map 功能

我正在获取我的用户数据,并且为每个用户多次调用 map 函数。我想等到所有数据都被推送到数组,然后操作数据。我尝试使用 Promise.all() 但它没有用。如何在继续之前等待此地图功能完成?

不用说,user_list_temp在 Promise.all() 中打印时数组是空的。

 const phone_list_promise_1 = await arrWithKeys.map(async (users,i) => {
      return firebase.database().ref(`/users/${users}`)
          .on('value', snapshot => {
              user_list_temp.push(snapshot.val());
              console.log(snapshot.val());
            })
        }
  );

Promise.all(phone_list_promise_1).then( () => console.log(user_list_temp) )
Run Code Online (Sandbox Code Playgroud)

我将代码更改为此,但仍然得到错误的输出

Promise.all(arrWithKeys.map(async (users,i) => {
      const eventRef = db.ref(`users/${users}`);
      await eventRef.on('value', snapshot => {
        const value = snapshot.val();
        console.log(value);
        phone_user_list[0][users].name = value.name;
        phone_user_list[0][users].photo = value.photo;
      })
      console.log(phone_user_list[0]); 
      user_list_temp.push(phone_user_list[0]);
    }

  ));
    console.log(user_list_temp); //empty  array
}
Run Code Online (Sandbox Code Playgroud)

javascript firebase react-native firebase-realtime-database

5
推荐指数
1
解决办法
1236
查看次数

将同一CID下的文件上传到IPFS

我希望创建一个包含 10k 块的 NFT 项目,每块都应该在令牌被铸造后立即可用,因此我想在与我在其他项目中看到的相同哈希下调用将 JSON 对象上传到 IPFS 。

这意味着当该项目被铸造时,一个新文件将被上传到:

ipfs://<CID>/1
Run Code Online (Sandbox Code Playgroud)

秒铸造将创建令牌 2,然后一个新文件将上传到

ipfs://<CID>/2
Run Code Online (Sandbox Code Playgroud)

如何使用 ipfs 或 pinata api 来完成?

ipfs

5
推荐指数
1
解决办法
3084
查看次数

在展会上与 React Native 立即通话

我正在尝试在没有中间件对话框的情况下立即发起电话呼叫。我用过Linking.openUrl()但是没用。

react-native-immediate-phone-call 可以做到这一点,但它需要链接,而expo. 我能做些什么?

react-native expo

2
推荐指数
1
解决办法
7293
查看次数