【问题标题】:how to get multiple fields from expo SecureStore如何从 expo SecureStore 获取多个字段
【发布时间】:2018-11-27 16:53:39
【问题描述】:

我是 ES6 和 react-native 新手,试图从 SecureStore 获取多个值。

我想我在这里误解了 Promise ... global.userData 在 Promise.all(promises).then 函数中为空。安全存储中确实存在相关值

我的代码是:-

   getUserData(fields) {
        var promises = [];
        var that = this;
        global.userData = {};
        function getField(field) {
          return SecureStore.getItemAsync(field)
            .then(res => {
              console.log(field+"="+res); // this appears after the log below
              global.userData[field] = res;
             })
            .catch(error => {
              global.userData[field] = null;
            });
        }
        fields.map(field => {
          promises.push[getField(field)];
        });
        Promise.all(promises).then(function(v) {
          console.log(global.userData); // this is empty
          that.setState({ isReady: true }); // allow page to render
        });
      }

    getUserData(["userId", "userName","etc"]);

【问题讨论】:

    标签: react-native promise expo


    【解决方案1】:

    我的坏...无意中使用了

    promises.push[getField(field)];
    

    应该是:

    promises.push(getField(field));
    

    很惊讶它没有被检测为语法错误......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-29
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 2019-02-11
      • 1970-01-01
      相关资源
      最近更新 更多