最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文教會(huì)你vue中使用async和await

 更新時(shí)間:2022年10月19日 16:18:30   作者:前端小白在前進(jìn)  
async和await作為異步函數(shù),語(yǔ)法很簡(jiǎn)單,就是在函數(shù)前面加上async 關(guān)鍵字,來(lái)表示它是異步的,下面這篇文章主要給大家介紹了如何通過(guò)一文教會(huì)你vue中使用async和await的相關(guān)資料,需要的朋友可以參考下

引言

在我們進(jìn)行實(shí)際開發(fā)中會(huì)遇到異步請(qǐng)求的問(wèn)題,這時(shí)候我們的異步請(qǐng)求的存在就非常的具備合理性了!接下來(lái)將會(huì)講述異步編程終級(jí)解決方案async/await。

async和await定義

async 是異步的意思,而 await 是等待的意思,await 用于等待一個(gè)異步任務(wù)執(zhí)行完成的結(jié)果。

1.async/await 是一種編寫異步代碼的新方法(以前是采用回調(diào)和 promise)。

2. async/await 是建立在 promise 的基礎(chǔ)上。

3. async/await 像 promise 一樣,也是非阻塞的。

4. async/await 讓異步代碼看起來(lái)、表現(xiàn)起來(lái)更像同步代碼。

使用場(chǎng)景

在實(shí)際開發(fā)中,相信大家都會(huì)遇到關(guān)于發(fā)送請(qǐng)求獲取數(shù)據(jù)的問(wèn)題,例如:如果你遇到了等第一個(gè)請(qǐng)求返回?cái)?shù)據(jù)完,再執(zhí)行第二個(gè)請(qǐng)求(可能第二個(gè)請(qǐng)求要傳的參數(shù)就是第一個(gè)請(qǐng)求接口返回的數(shù)據(jù))這個(gè)問(wèn)題,該怎么去處理呢?由于我們?cè)诓皇褂卯惒秸?qǐng)求的情況下,默認(rèn)發(fā)送多個(gè)請(qǐng)求是同步執(zhí)行的,就會(huì)導(dǎo)致我們也不知道到底是哪個(gè)接口優(yōu)先被執(zhí)行!??!

所以,我們必須要學(xué)會(huì)使用async/await!

實(shí)戰(zhàn)場(chǎng)景

話不多說(shuō),直接上代碼:

const datas = async ()=> {
  await request.selectPies(Route.path.split('/')[3]).then(res=>{
  	states.ids = res.obj
	console.log(res)
  })
  //查詢發(fā)帖子用戶信息
  await request.selectUsers(states.ids).then(res=>{
    console.log(res.obj)
  })
}
datas()

這里是在vue3語(yǔ)法糖中使用異步請(qǐng)求,從代碼看出,第二個(gè)接口要使用第一個(gè)接口返回的數(shù)據(jù),因此使用了異步請(qǐng)求。

補(bǔ)充:vue中async await請(qǐng)求處理

Promise.all() 用法示例:

const wait = ms => new Promise((resolve, reject) => {
    setTimeout(() => {
        console.log(`wait ${ms}ms`)
        resolve()
    }, ms)
})
const PA = Promise.all([wait(3000), wait(1000), wait(2000)])
// 依次打?。簑ait 1000ms wait 2000ms wait 3000ms

async-await 同時(shí)觸發(fā)多個(gè)異步操作示例

const wait = ms => new Promise((resolve, reject) => {
    setTimeout(() => {
        console.log(`wait ${ms}ms`)
        resolve()
    }, ms)
})
;(async () => {
    await Promise.all([wait(3000), wait(1000), wait(2000)])
    // 依次打?。簑ait 1000ms wait 2000ms wait 3000ms
})()

問(wèn)題:接口B需要接口A返回的數(shù)據(jù),如果同時(shí)請(qǐng)求,控制不了返回速度,會(huì)出現(xiàn)B快于A,

實(shí)現(xiàn):

async表示函數(shù)里有異步操作,

await表示緊跟在后面的表達(dá)式需要等待結(jié)果。

   methods: {
      fetchData: async function () {
        var that = this
        var code = Store.fetchYqm();
        let params = {
          inviteCode: code
        }
        const response = await http.post(params,api.getCode)
         var resJson = response.data;
      }
}

小結(jié)

在現(xiàn)在以前后端分離開發(fā)的模式下,需要訪問(wèn)后端接口,我們必須要懂得什么是異步請(qǐng)求,異步請(qǐng)求很簡(jiǎn)單,就是給接口的訪問(wèn)加上了順序,防止它們無(wú)厘頭的不受順序限制發(fā)送請(qǐng)求!

到此這篇關(guān)于vue中使用async和await的文章就介紹到這了,更多相關(guān)vue使用async和await內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue2.0 移動(dòng)端實(shí)現(xiàn)下拉刷新和上拉加載更多的示例

    vue2.0 移動(dòng)端實(shí)現(xiàn)下拉刷新和上拉加載更多的示例

    本篇文章主要介紹vue2.0 移動(dòng)端實(shí)現(xiàn)下拉刷新和上拉加載更多的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Vue數(shù)據(jù)與事件綁定以及Class和Style的綁定詳細(xì)講解

    Vue數(shù)據(jù)與事件綁定以及Class和Style的綁定詳細(xì)講解

    這篇文章主要介紹了Vue數(shù)據(jù)與事件綁定以及Class和Style的綁定,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-01-01
  • Vue computed與watch用法區(qū)分

    Vue computed與watch用法區(qū)分

    watch和computed都是以Vue的依賴追蹤機(jī)制為基礎(chǔ)的,當(dāng)某一個(gè)依賴型數(shù)據(jù)發(fā)生變化的時(shí)候,所有依賴這個(gè)數(shù)據(jù)的相關(guān)數(shù)據(jù)會(huì)自動(dòng)發(fā)生變化,即自動(dòng)調(diào)用相關(guān)的函數(shù),來(lái)實(shí)現(xiàn)數(shù)據(jù)的變動(dòng),這篇文章簡(jiǎn)單介紹下Vue中computed和watch的區(qū)別異同,感興趣的朋友一起看看吧
    2023-02-02
  • 詳解如何實(shí)現(xiàn)一個(gè)簡(jiǎn)單的 vuex

    詳解如何實(shí)現(xiàn)一個(gè)簡(jiǎn)單的 vuex

    本篇文章主要介紹了如何實(shí)現(xiàn)一個(gè)簡(jiǎn)單的 vuex,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • Vue vxe-table使用問(wèn)題收錄小結(jié)

    Vue vxe-table使用問(wèn)題收錄小結(jié)

    這篇文章主要為大家介紹了Vue vxe-table使用問(wèn)題收錄小結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • vue項(xiàng)目中使用crypto-js實(shí)現(xiàn)加密解密方式

    vue項(xiàng)目中使用crypto-js實(shí)現(xiàn)加密解密方式

    這篇文章主要介紹了vue項(xiàng)目中使用crypto-js實(shí)現(xiàn)加密解密方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 淺談Vue入門需掌握的知識(shí)

    淺談Vue入門需掌握的知識(shí)

    這篇文章主要介紹了淺談Vue入門需掌握的知識(shí),感興趣的同學(xué)參考下
    2021-04-04
  • 解決Vue 給mapState中定義的屬性賦值報(bào)錯(cuò)的問(wèn)題

    解決Vue 給mapState中定義的屬性賦值報(bào)錯(cuò)的問(wèn)題

    這篇文章主要介紹了解決Vue 給mapState中定義的屬性賦值報(bào)錯(cuò)的問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Vue3如何配置多級(jí)代理

    Vue3如何配置多級(jí)代理

    這篇文章主要介紹了Vue3如何配置多級(jí)代理問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • vite?vue3下配置history模式路由的步驟記錄

    vite?vue3下配置history模式路由的步驟記錄

    路由存在兩者模式,一種是歷史模式history,一種是hash模式,下面這篇文章主要給大家介紹了關(guān)于vite?vue3下配置history模式路由的相關(guān)資料,需要的朋友可以參考下
    2023-01-01

最新評(píng)論

灵丘县| 宝坻区| 台前县| 桃源县| 确山县| 安福县| 化州市| 桂林市| 巩义市| 襄汾县| 裕民县| 社会| 古蔺县| 梓潼县| 洪泽县| 临清市| 兴安盟| 独山县| 姜堰市| 克拉玛依市| 枞阳县| 辽阳县| 建始县| 长治市| 蒙阴县| 潼关县| 五大连池市| 兴国县| 涟水县| 尚义县| 荥经县| 包头市| 通许县| 西和县| 满城县| 双城市| 东阿县| 丹巴县| 毕节市| 礼泉县| 屏东县|