本机给出localstorage getItem而不是函数错误

时间:2017-08-07 03:11:08

标签: react-native

我试图使用Async Storage官方反应原生API。我的本机代码中的代码如下所示:

export function get(key) {
  return new Promise(function(resolve, reject) {
    AsyncStorage.getItem(key, (err, val) => {
      if (err) {
        reject(err)
      } else {
        if (val === null) {
          reject('key_not_found')
        } else {
          var parsedVal = JSON.parse(val)
          console.log('got value from storage =>', parsedVal);
          resolve(parsedVal)
        }
      }
    })
  });
}

我工作了一个星期没有任何问题,但最近它开始给出这个错误

enter image description here

远程JS调试器的记录器输出如下所示

enter image description here

除了我使用npm modules安装moment.js之外,我没有更改任何npm install --save moment,不知道这里可能会发生什么?

更新:

我使用此导出功能的地方是:

//This one is inside the same file so I just use get without module name
export function retrieveCredential() {
  return new Promise(function(resolve, reject) {
    get('credential')
    .then((val) => {
      resolve(val)
    })
    .catch((err) => {
      console.log(err)
      reject(err)
    })
  });
}

//this function is also exported
export function autoLogin() {
  return new Promise(function(resolve, reject) {
    LocalStorage.retrieveCredential()
    .then((credential) => {
      loginWithEmail (credential.email, credential.password, false)
      .then(() => {
        resolve()
      })
      .catch((err) => {
        console.log(err)
        reject(err)
      })
    })
    .catch((err) => {
      console.log(err)
      reject(err)
    })
  });
}

//This is finally used in one of the component
Authentication.autoLogin()
    .then(() => { ... })
    .catch(() => { ... })

项目搜索localstorage.getItem结果:

enter image description here

0 个答案:

没有答案