fetchSubmitPromise() {
return new Promise((resolve, reject) => {
var from = this.props.data.navigation.state.params.from;
var api='/api/bex/product/update/';
var url = global.Prefix.concat(api, this.state.productId);
let formData = new FormData();
formData.append('tokenId',global.tokenId);
formData.append('name', this.state.name);
formData.append('modelId',this.state.modelId);
formData.append('qualityId', this.state.qualityId);
formData.append('sizeId',this.state.sizeId);
formData.append('length',this.state.length);
formData.append('width',this.state.width);
formData.append('height',this.state.height);
formData.append('leatherTypeId',this.state.leatherTypeId);
formData.append('leatherRemark',this.state.leatherRemark);
formData.append('colorId',this.state.colorId);
formData.append('colorRemark',this.state.colorRemark);
formData.append('accessoryColorId',this.state.accessoryColorId);
formData.append('accessoryRemark',this.state.accessoryRemark);
formData.append('accessoryIds',this.state.accessoryIds);
formData.append('yearOfPurchase',this.state.yearOfPurchase == '未知' ? -1 : this.state.yearOfPurchase);
formData.append('remark',this.state.remark);
formData.append('serialNumber',this.state.serialNumber);
if(this.state.status != 'PURCHASE'){
formData.append('warehouseId',this.state.warehouseId);
}
console.log(formData);
fetch(url,{
method:'POST',
headers:{
'Content-Type':'multipart/form-data',
},
body:formData,
})
.then((response) => response.json())
.then((responseJson)=>{console.log(responseJson);
if(responseJson.code && responseJson.code == 'success'){console.log(responseJson);
resolve(responseJson.code);
setTimeout(() => {
const {goBack, state} = this.props.data.navigation;
state.params.callback();
goBack();
this.setState({disabled: false});
}, 800);
}
if(responseJson.errorCode) {
reject(responseJson.errorMessage)
}
})
.catch((error)=>{console.log(error);reject(checkApi)});
})
}
这是提交的代码,不要管Promise,这是判断超时的,这个项目运行几个月都没问题,今天客户要改一个小地方,我测试时发现只要字符串参数,比如 name、 remark 等超过1个汉子fetch 就不成功 ,直接走catch里,后来装在手机上测试也是这样 ,有没有人碰到同样的问题
后来发觉是老板写的后台有问题,他改了一下就没事了。。。