使用redux-thunk和AsyncStorage获得响应

时间:2017-05-06 00:12:34

标签: react-native jwt axios redux-thunk asyncstorage

我正在使用react-native,redux-thunk,jwt和AsyncStorage来验证和定位此项目中的用户。似乎请求从axios进入后端,但我没有看到回复('在axios'和#39;?'未显示)在chrome控制台和我不知道我的代码可能出了什么问题。

在我的行动/ userAuth.js

import { AsyncStorage } from 'react-native';
import axios from 'axios';

export function updateUserLoc(username, lat, lng) {
  return function(dispatch) {
    AsyncStorage.getItem('token').then(function(token) {
      console.log('out');
      axios.put(`${ROOT_URL}/:${username}/location`, {location: [lat, lng], token})
      .then((response) => {
        console.log('in axios');
        // console.log('update user location', response);
        dispatch({
          type: USER_LOC_UPDATE
        });
        console.log('?');
      })
      .catch(err => { console.log('user location err', err); });
    })
    .catch(err => { console.log('Async Storage err', err)});
  }
}

之前有没有人遇到过这种问题,或者有人知道这段代码中的问题是什么以及如何调试它?

会欣赏任何建议或答案。

谢谢。

1 个答案:

答案 0 :(得分:0)

我不认为AsyncStorage.getItem会返回一个承诺。根据文档,getItem采用可选的第二个参数作为回调函数。或者,如果您有ES7支持,则可以使用async/await