vue .then和鏈?zhǔn)秸{(diào)用操作方法
Vue.then
一、Vue.then是什么意思
Vue.then是Vue.js框架中對于異步操作進(jìn)行處理的一個(gè)方法。它與Promise結(jié)合使用,相當(dāng)于Promise中的then方法,可以處理異步操作的結(jié)果,從而實(shí)現(xiàn)對后續(xù)流程的控制和處理。Vue.then方法是在Vue.js 2.1版本中引入的,目的是更好地支持異步操作。
二、Vue.then的使用
使用Vue.then方法,需要先進(jìn)行異步操作,接著通過調(diào)用Promise中的then方法來對異步操作的結(jié)果進(jìn)行處理。例如,在Vue.js中,可以使用Vue resource庫實(shí)現(xiàn)請求后臺數(shù)據(jù)的異步操作,代碼如下:
Vue.http.get('/api/user')
.then(response => {
this.users = response.body;
}, response => {
console.log('error');
});上述代碼中,先進(jìn)行了一個(gè)異步操作,即調(diào)用Vue.http.get方法來請求后臺數(shù)據(jù)。然后,將結(jié)果通過Promise的then方法進(jìn)行處理,從而實(shí)現(xiàn)對于數(shù)據(jù)結(jié)果的控制。在這個(gè)例子中,如果響應(yīng)成功,返回?cái)?shù)據(jù)的主體內(nèi)容(response.body)將被賦值給該Vue實(shí)例的users變量,否則會(huì)在控制臺輸出"error"。
vue .then和鏈?zhǔn)秸{(diào)用
1 如果下級函數(shù)存在異步操作,
并且上級函數(shù)需要等待下級函數(shù)的異步操作完成后再繼續(xù)執(zhí)行,
那么在上級函數(shù)中就需要使用 .then() 方法來處理異步操作的結(jié)果。
2在let obj = axios.get(path).then((resp => { return resp })
這個(gè)鏈?zhǔn)秸{(diào)用中,確實(shí)會(huì)有兩個(gè)返回值。
第一個(gè)值是 請求的結(jié)果axios.get(path)
第二個(gè)值是.then()中數(shù)據(jù)處理后的結(jié)果 Promise 對象 obj 。
3 .then返回值是Promise 對象
4發(fā)起異步請求:axios.get(path) 得到第一返回值處理響應(yīng)結(jié)果:.then((resp) => { ... }) 得到第二返回值Promise 對象上級函數(shù)調(diào)用下級帶.then的函數(shù)必須 .then((data) => { ... })
5 上級函數(shù) 使用了.then(), 下級函數(shù)可以不使用.then,直接返回請求結(jié)果
第一種 上級函數(shù) .then() ,下級函數(shù).then() 返回處理完的數(shù)據(jù)
export function funcB() {
let newData = []
newData = fetchData().then((data) => {
console.log(data); // 直接使用數(shù)據(jù)
return data;
});
console.log(newData);
}
return newData;
}
function fetchData() {
try {
let path = 'dt.csv'
let obj = axios.get(path).then((resp) => {
// 這里處理數(shù)據(jù)
return data;
})
return obj; // 返回Promise 對象
} catch (error) {
// 處理錯(cuò)誤
console.error(error);
return null;
}
}第二種 上級函數(shù) .then() ,下級函數(shù)只返回請求結(jié)果
export function funcB() {
let newData = []
newData = fetchData().then((data) => {
// 這里處理數(shù)據(jù)
console.log(data); // 在這里處理 newData
return data;
});
console.log(newData);
}
return newData;
}
function fetchData() {
try {
let path = 'dt.csv'
let obj = axios.get(path)
return obj; // 返回Promise 對象
} catch (error) {
// 處理錯(cuò)誤
console.error(error);
return null;
}
}到此這篇關(guān)于vue .then和鏈?zhǔn)秸{(diào)用的文章就介紹到這了,更多相關(guān)vue鏈?zhǔn)秸{(diào)用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue3中定時(shí)任務(wù)cron表達(dá)式組件的比較分析
文章比較了三種適用于Vue3的cron組件:vue3-cron-plus、no-vue3-cron和vue3-cron-plus-picker,每種組件的安裝和使用實(shí)例都詳細(xì)列出,最終對比發(fā)現(xiàn),vue3-cron-plus-picker不僅可以從組件中獲取cron表達(dá)式,還能顯示任務(wù)的執(zhí)行時(shí)間,因此推薦使用2025-10-10
Vue后臺中優(yōu)雅書寫狀態(tài)標(biāo)簽的方法實(shí)例
在Vue中,我們可以非常便捷地通過標(biāo)簽實(shí)現(xiàn)狀態(tài)的保存,這篇文章主要給大家介紹了關(guān)于Vue后臺中如何優(yōu)雅的書寫狀態(tài)標(biāo)簽的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-08-08
vue動(dòng)態(tài)綁定class的幾種常用方式小結(jié)
這篇文章主要介紹了vue動(dòng)態(tài)綁定class的幾種常用方式,結(jié)合實(shí)例形式總結(jié)分析了vue.js常見的對象方法、數(shù)組方法進(jìn)行class動(dòng)態(tài)綁定相關(guān)操作技巧,需要的朋友可以參考下2019-05-05
vue3安裝vant實(shí)現(xiàn)按需引入和全局引入
本文主要介紹了vue3安裝vant實(shí)現(xiàn)按需引入和全局引入,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
淺談vue websocket nodeJS 進(jìn)行實(shí)時(shí)通信踩到的坑
這篇文章主要介紹了淺談vue websocket nodeJS 進(jìn)行實(shí)時(shí)通信踩到的坑,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09
vue3響應(yīng)式對象的api超全實(shí)例詳解
可以把數(shù)據(jù)變成響應(yīng)式api的方法叫做響應(yīng)式api,下面這篇文章主要給大家介紹了關(guān)于vue3響應(yīng)式對象api的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05

