vuetools怎么使用(Vue中Promise的使用)
在我们实际中最常用到的是异步操作时,对异步操作进行封装,Promise 是一个函数返回的对象,我们可以在它上面绑定回调函数,我来为大家科普一下关于vuetools怎么使用?下面希望有你要的答案,我们一起来看看吧!
vuetools怎么使用
在我们实际中最常用到的是异步操作时,对异步操作进行封装,Promise 是一个函数返回的对象,我们可以在它上面绑定回调函数。
promise的简单使用
let p = new Promise((resolve,reject)=>{
//实现异步数据处理任务
//当处理成功时调用resolve方法
resolve("处理成功");
//当处理失败时调用reject方法
reject("处理失败");
});
p.then(result=>{
//从resolve得到正常结果
},function(error=>{
//从reject得到错误信息
});
从代码中我们可以看出Promise可以接受两个方法函数分别对应异步操作的结果,一个是成功后的回调一个是失败后的回调。
Promise常用的API
实例方法
new Promise 来创建对象
p.then()得到异步任务的正确结果
p.catch()获取异常信息
使用方式1
let p = new Promise((resolve,reject)=>{
//实现异步数据处理任务
//当处理成功时调用resolve方法
resolve("处理成功");
//当处理失败时调用reject方法
reject("处理失败");
});
p.then(result=> {
console.log(result);
})
.catch(error=> {
console.log(error);
})
使用方式2
let p = new Promise((resolve,reject)=>{
//实现异步数据处理任务
//当处理成功时调用resolve方法
resolve("处理成功");
//当处理失败时调用reject方法
reject("处理失败");
});
p.then(result=>{
console.log(result);
},
error=> {
console.log(error);
})
在这里说明一点就是当我们new Promise的时候,其实里面的处理逻辑是没有执行的,只有当调用then函数的时候才是处理逻辑执行的时候。
多个异步任务处理1、Promise.all()方法
当处理并发多个异步任务,所有任务都执行完成才表示通过
let p1 = new Promise((resolve,reject)=>{
resolve("处理成功");
});
let p2 = new Promise((resolve,reject)=>{
resolve("处理成功");
});
let p3 = new Promise((resolve,reject)=>{
resolve("处理成功");
});
Promise.all([p1,p2,p3]).then((result)=>{
console.log(result);
})
这个时候只有p1、p2、p3同时调用resolve方法数据处理成功的时候,Promise.all方法才会代表执行通过。
2、Promise.race()方法
当处理并发多个异步任务,只要其中有一个任务完成就表示执行通过
let p1 = new Promise((resolve,reject)=>{
resolve("处理成功");
});
let p2 = new Promise((resolve,reject)=>{
resolve("处理成功");
});
let p3 = new Promise((resolve,reject)=>{
resolve("处理成功");
});
Promise.race([p1,p2,p3]).then((result)=>{
console.log(result);
})
这个时候只要p1、p2、p3中至少有一个调用resolve方法数据处理成功的时候,Promise.race方法就代表执行通过。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com