vuetools怎麼使用?在我們實際中最常用到的是異步操作時,對異步操作進行封裝,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方法就代表執行通過。
,