axios.post("/day06/opus/list",param) .then(response=>{ let resp = response.data; this.pageInfo = resp.data; }) //如果放外面先执行 this.num = this.pageInfo.pageNum; 和axios.post("/day06/opus/list",param) .then(response=>{ let resp = response.data; this.pageInfo = resp.data; this.num = this.pageInfo.pageNum; }) 两个代码的区别
时间: 2024-02-10 13:21:02 浏览: 124
简单谈谈axios中的get,post方法
这两段代码的区别在于变量 `this.num` 的赋值位置不同。
第一段代码将 `this.num` 的赋值放在了 `axios.post` 的后面,这意味着在 `axios.post` 请求完成并返回数据之前,`this.num` 将被赋值为 `undefined`。而在 `.then` 回调函数中,`this.num` 又被重新赋值为 `this.pageInfo.pageNum`。
第二段代码将 `this.num` 的赋值放在了 `.then` 回调函数中,这意味着只有在 `axios.post` 请求完成并返回数据后,`this.num` 才会被赋值为 `this.pageInfo.pageNum`。
因此,第二段代码更为合适,可以确保在获取到数据后再进行变量赋值,避免了变量值为 `undefined` 的情况。
阅读全文