用的vue,刚开始一直想只用setTimeout

//错误示意
liucheng(){
    var _this = this;
    _this.active = 'flipped';
	setTimeout(
		_this.active = '';
	, 2000)
	setTimeout(
		_this.active = 'flipped';
	, 2000)
},

上面这样连续两个,第一个setTimeout不执行
所以后面用async+await(里面setTimeout)就可以了
因为要等await返回结果才往下面执行

//正确示意
async liucheng(){
    var _this = this;
    _this.active = 'flipped';
    await new Promise(res => setTimeout(res, 2000))  //等待后执行,1000为1秒
    _this.active = '';
    await new Promise(res => setTimeout(res, 2000))  //等待后执行,1000为1秒
    _this.active = 'flipped';
}
Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐