diff --git a/src/components/AvatarUnit/AvatarUnit.js b/src/components/AvatarUnit/AvatarUnit.js index bfdba74..c3dd805 100644 --- a/src/components/AvatarUnit/AvatarUnit.js +++ b/src/components/AvatarUnit/AvatarUnit.js @@ -70,7 +70,9 @@ export default function AvatarUnit({ avatar, nickname, onChangeAvatar, showTip } const formData = new FormData(); formData.append("image", file); multiFormPost(apis.uploadAvatar, formData).then(data => { - if (data.networkStatus === 200 && data.status) { + setUploading(false); + if (data.networkStatus !== 200) return; + if (data.status) { setUploaded(true); setTimeout(() => { handleClose(); @@ -80,7 +82,6 @@ export default function AvatarUnit({ avatar, nickname, onChangeAvatar, showTip } else { alert('头像上传失败:' + data.data); } - setUploading(false); }); } }, [file, onChangeAvatar]); @@ -88,14 +89,15 @@ export default function AvatarUnit({ avatar, nickname, onChangeAvatar, showTip } const handleChangeNickname = useCallback(() => { setNicknameUploading(true); post(apis.updateNickname, { nickname: nicknameNow }).then(data => { - if (data.networkStatus === 200 && data.status) { + setNicknameUploading(false); + if (data.networkStatus !== 200) return; + if (data.status) { alert('昵称已修改为:' + nicknameNow); setNicknameNow(nicknameNow); } else { alert('修改失败:' + data.data.map(item => item.msg).join(',')); } - setNicknameUploading(false); }); }, [nicknameNow]); diff --git a/src/helper/axios.js b/src/helper/axios.js index 32d6f44..e3d2ece 100644 --- a/src/helper/axios.js +++ b/src/helper/axios.js @@ -91,12 +91,12 @@ async function send(xhr, retryConf) { // 注意,理论上带有时间戳的请求是不可以重试的,但是这里不做那方面考虑,如果未来有需要,可以自己实现一个刷新时间戳重试的逻辑 if (err.message === 'Network Error') - return await failed('您的设备似乎断网了,或者服务器发生了问题,请检查网络后重试或刷新', flushWaitList) || failData; + return (await failed('您的设备似乎断网了,或者服务器发生了问题,请检查网络后重试或刷新', flushWaitList)) || failData; if (!err?.response?.status) - return await failed('请求发生问题:' + err.message, flushWaitList) || failData; + return (await failed('请求发生问题:' + err.message, flushWaitList)) || failData; if (err.response.status === 504) - return await failed('请求超时,请耐心等待几秒后重试或刷新', flushWaitList) || failData; - return await failed('服务器出现问题,请稍后重试或刷新,错误代码' + err.response.status, flushWaitList) || failData; + return (await failed('请求超时,请耐心等待几秒后重试或刷新', flushWaitList)) || failData; + return (await failed('服务器出现问题,请稍后重试或刷新,错误代码' + err.response.status, flushWaitList)) || failData; } } diff --git a/src/upload/upload.js b/src/upload/upload.js index 2428c07..5ef3d42 100644 --- a/src/upload/upload.js +++ b/src/upload/upload.js @@ -44,12 +44,12 @@ export class UploadContainer extends Component { if (this.state.submitting && (!this.state.file || this.state.url !== "")) { post(apis.submitMessage, { content: this.state.msg, image: this.state.url }) .then(({ data, status, networkStatus }) => { + this.setState({ submitting: false }); if (networkStatus !== 200) return; if (!status) { - this.setState({ submitting: false }); return alert('提交内容失败:' + data); } - this.setState({ submitting: false, msg: "", url: "", file: null }); + this.setState({ msg: "", url: "", file: null }); alert('内容提交成功啦'); }); }