怎样处理请求数据的函数修改为同步执行的函数

在vue2.0中,请求数据的函数都是异步执行函数(没有同步请求),但有时必须保证该数据请求回来以后判断状态后再执行下面的代码,怎样实现呢?

  • 可以等待状态后再顺序执行代码

  • 方法一:设置计时器,当计时器隔多久后再执行下面的函数

    • 缺点:很难确定计时器需要定义的时间,可能会随项目的数据大小等发生改变。
  • 方法二:使用es6的promise对象(不知道的可以先看这里:promise 简书)解决

    • promise是用来传递异步操作的消息的,它有三种Pending(进行中)、Resolved(已完成,又称 Fulfilled)和 Rejected(已失败)。一旦状态改变,就不会再变,任何时候都可以得到这个结果。Promise 对象的状态改变,只有两种可能:从 Pending 变为 Resolved 和从 Pending 变为 Rejected。只要这两种情况发生,状态就凝固了,不会再变了,会一直保持这个结果。就算改变已经发生了,你再对 Promise 对象添加回调函数,也会立即得到这个结果。所以可以使用promise返回对象的then方法来判断状态再添加需要执行的同步代码,如果失败可以使用resolve()或reject()方法来选择继续执行下面的代码。
  • 很好用,试试,加油!

转载于:https://my.oschina.net/yxmBetter/blog/1501187

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值