vueaxios异步请求及回调函数(前台)问题
前台逻辑遇到以下情景
tempList(){
var temp;
//1执⾏ajax 取得值 temp中放数据this.$axios.post(localhos:8080, params).then((res) => {
if (Code == '1') {
//执⾏操作
}
else {
//提⽰错误
}
});
2判断 temp值做操作
}
执⾏时会出现temp值为undefined的问题,原因是ajax为异步请求,第⼆部不会等待第⼀步完成在执⾏,当执⾏第2步时ajax请求并未完成,temp并没有被赋值造成的。
解决⽅法
tempList(){
var temp;
//1执⾏ajax 取得值 temp中放数据this.$axios.post(localhos:8080, params).then((res) => {
if (Code == '1') {
//执⾏操作
2判断 temp值做操作 //重点
ajax实例里面的函数}
else {
//提⽰错误
}
});
}
延伸
js代码会从上到下执⾏,但是当遇到异步的情况,如ajax请求时,并不会等到拿到请求结果在做以后的操作,如果这是需要⽤到请求结果,则会出现错误,⼀般采⽤回调函数的⽅式解决。将需要请求数据的⽅法放在ajax请求的回调函数中,待请求执⾏完成再做操作。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论