fuck:function () {
this.timeOut().then(function success(value){
console.log(value)
})
},
timeOut:function (){
return new Promise(function (resolve, reject){
console.log("WTF")
setTimeout(function(){
try {
console.log("WTF2")
resolve("成功!");//代码正常执行!
console.log("WTF3")
}catch (e) {
reject(e);
}
}, 2000);
});
},
用着很别扭,完全感受不到异步怎么实现的,但是这样操作function (resolve, reject)与function success(value)的代码确实是异步执行的,这里是写在vue里的,还有另一种写法,就是把返回Promise的方法替换为直接new一个Promise,然后对象.then,原理是一样的。