我正在使用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)});
}
}
之前有没有人遇到过这种问题,或者有人知道这段代码中的问题是什么以及如何调试它?
会欣赏任何建议或答案。
谢谢。
答案 0 :(得分:0)
我不认为AsyncStorage.getItem
会返回一个承诺。根据文档,getItem
采用可选的第二个参数作为回调函数。或者,如果您有ES7支持,则可以使用async/await
。