API React Native Pepperoni Starter Kit 超时
API Timeout on React Native Pepperoni Starter Kit
我正在使用 React Native Pepperoni Starter Kit。我使用一个函数 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 中的第 8 行,您将看到:
const TIMEOUT = 6000;
考虑使用另一个库从服务器获取您的信息,例如 fetch 或自行修改 Api.js 以将 TIMEOUT 设置得更大。
我正在使用 React Native Pepperoni Starter Kit。我使用一个函数 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 中的第 8 行,您将看到:
const TIMEOUT = 6000;
考虑使用另一个库从服务器获取您的信息,例如 fetch 或自行修改 Api.js 以将 TIMEOUT 设置得更大。