آموزش جاوااسکریپت › انجمن ها › react js › سوالی در باره هنل کردن خطای axios
برچسب ها: reactjs
- این موضوع 1 پاسخ، 2 کاربر را دارد و آخرین بار در 3 سال، 9 ماه پیش بدست مهدی حسن زاده بهروزرسانی شده است.
در حال نمایش 2 نوشته (از کل 2)
-
نویسندهنوشتهها
-
Akhelper 63مشارکت کننده
ا سلام و احترام … هندل کردن ارور در اکسیوس در فیلم آموزشی کاملا قابل درک است… اما سوال بنده این است که زمانی که من می خواهم یک اطلاعات رو با axios درج کنم کمی زمانبر هست بنابراین باید از asyc و wait استفاده کنم … بنابراین می خوام یک تابع بنویسم تا axios رو اجرا کنه و بعد منتظر ریسپانس باشم و چک کنم تابع axios خروجی داشت کد اجرا بشه اگر نه بتونم ریدایرکت کنم….
JavaScript12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273class Step1 extends Component {constructor(props) {super(props);this.state = {mobile: "",password: "",repassword: "",rolid: [2],token: "123456789qwertyuiopqaz",error: null,errordec: null}}handleChange(event) {this.setState({ [event.target.name]: event.target.value })// console.log(this.state)}validate = () => {if (this.state.mobile === "" || this.state.password === "" || this.state.repassword === "") {this.setState({ error: true, errordec: "اطلاعات مورد نظر را وارد نمایید" })return true}else if (this.state.password !== this.state.repassword) {this.setState({ error: true, errordec: "رمزعبور با هم برابر نیستند" })return true}}registerUser = async (token, mobile, password, repassword, rolid) => {const checkactivate = await instance.post(<code>/Register</code>, {"_token": token,"_mobile": mobile,"_pass1": password,"_pass2": repassword,"_role_id": rolid}).then(response => {if (response.data[0].Objstatus.status === "Error") {this.setState({ error: true, errordec: "شما قبلا ثبت نام کردید" });console.log(this.state.error);console.log(this.registerUser());return false;}else if (response.data[0].Objstatus.status === "ُSuccess") {this.setState({ error: false, errordec: "کد فعالسازی ارسال گردید" });return true;}else {this.setState({ error: true, errordec: "مشکلی در ارتباط با وب سرویس پیش آمده" });return false;}}).catch(error => {this.setState({ error: true, errordec: "مشکلی در ارتباط با وب سرویس پیش آمده" });return false;});return checkactivate;}render() {const handleSubmit = (event) => {event.preventDefault();if (!this.validate()) {this.registerUser(this.state.token, this.state.mobile, this.state.password, this.state.repassword, this.state.rolid);// this.props.mobile(this.state.mobile);}}مهدی حسن زادهمدیرکلسلام.
لازم نیست شما از async/await استفاده کنید چون شما یک promise دارید.
تا زمانی که response برنگرده عملیات داخل then اجرا نمیشه واگر error داشته باشید که در catch میتونید هندلش کنید -
نویسندهنوشتهها
در حال نمایش 2 نوشته (از کل 2)