Ajax异步请求(不等待,继续执行)

案例:

1、问题:

以下代码中,if 和 else里面都有以下两句话,能不能把这两句话放在else之后执行?

//关闭对话框
this.dialogFormVisible = false;
//刷新数据
this.list();
save() {
                //修改和新增显示的是同一个表单,点击确定会触发同一个方法
                //所有这里需要判断是 修改还是新增
                if (this.form.id){//修改时会把id传给表单
                    //是修改
                    request.post('api/furn/updata', this.form)
                        .then(res => {
                            console.log(res);
                            if (res.code==200){
                                //弹出消息框
                                this.$message({
                                    message: '修改成功',
                                    type: 'success',
                                });
                            }else if (res.code == 400) {
                                //弹出消息框
                                this.$message.error('修改失败');
                            }
                            //关闭对话框
                            this.dialogFormVisible = false;
                            //刷新数据
                            this.list();
                        })
                }else {
                    request.post('api/furn/save', this.form)
                        .then(response => {
                            console.log(response);
                            //关闭对话框
                            this.dialogFormVisible = false;
                            //刷新数据
                            this.list();
                        })
                }
            }

2、答案是:

不能,这样做的后果是,修改数据后,页面得到的数据不是最新的。不是调用了list()方法刷新数据吗,为什么得到的数据不是修改之后的呢?
因为这里本质上使用的是Ajax异步请求,如果将上面的两条语句放在else之后。因为是异步请求,所有不会等Ajax请求执行完 才往下执行list()方法,也就是说,在还没修改好数据时,就执行了list()方法,所有得到的数据不是最新的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值