我正在使用React Native Pepperoni启动器套件。我使用一个功能post
从服务器获取数据。每当我拨打电话时,API都会因超时而失败,但是服务器会接收呼叫。唯一的客户表明它失败了。
onboardingState.js
export function validatePhone(phoneNumber){
return dispatch => {
post('/api/users/register',{
number : phoneNumber,
deviceInfo : {}
},false).then((res)=>{
console.log('POST SUCCESS');
console.log(res);
}).catch((error)=>{
console.log('POST ERROR');
console.log(error);
});
}
}
我用来拨打电话的文件。api.js
我认为您缺少拒绝回调。
尝试以下操作:
export function validatePhone(phoneNumber){
return dispatch => {
post('/api/users/register',{
number : phoneNumber,
deviceInfo : {}
}, false)
.then((res)=>{
console.log('POST SUCCESS');
console.log(res);
}, (cause) => {
console.log('POST REJECTED');
console.log(cause);
})
.catch((error)=>{
console.log('POST ERROR');
console.log(error);
});
}
}
让我知道它是否有效。没有太多的信息,但似乎缺乏拒绝回调会导致失败。我的意思是,缺乏拒绝回调是阻止您意识到您收到的原始错误。
您必须确保服务器正确响应。场景可能是您的服务器接收请求,但不会向客户端发送响应。你检查了吗?
API.JS的默认超时为6秒,似乎无法修改。在API.JS中检查8th Line,您将看到以下内容:
const TIMEOUT = 6000;
考虑使用另一个lib来从服务器中获取您的信息,例如获取或通过您自己的API.js修改以设置超时。