Vue 如何使用axios實現同步請求

2021-09-26 01:47:55 字數 1046 閱讀 9666

在vue專案中我們經常會使用axios來與後台進行資料傳輸,非同步請求可以改善使用者體驗。但是在某些特殊情況,我們依然需要使用同步請求來實現互動。本文將講解如何在vue專案中使用axios實現同步請求。

問題分析

我們知道,在傳統的ajax方法中,我們可以使用引數async設定為false來表示同步請求

$.ajax(,

error : function(e)

});

但是在axios的文件中,並沒有找到類似的引數。因此單純的通過axios是實現不了同步資料互動。

在瀏覽了其它部落格後,了解到es7的非同步特性async / await,async修飾的非同步方法,需要等待await修飾的語句執行完畢。這跟我們想要的同步請求效果一樣,在執行完a事件,並成功返回後,才會去執行b事件。

還有一種方法就是在vue專案中安裝jquery,使用jquery的async屬性,但是不太推薦。

es7的非同步特性async / await

async用於申明乙個函式是非同步的,await等待非同步請求完成,await只能在async方法中使用。

var fun1 = async function()
在呼叫fun1的方法中我們需要修飾為async非同步方法,並且await修飾fun1方法。

var fun2 = async function()
在vue專案中實現
getinfofn: async function()).then(function (response) 

});},// 呼叫getinfofn()也需要修飾為非同步

changeconfigfn: async function(config)

這樣我們可以等待資料返回成功後,執行其它操作了

總結本文簡單的介紹了如何使用es7的非同步特性async / await來實現axios進行同步請求了。

vue中如何使用axios

npm install axios在main.js中引入import axios from axios 然後在vue原型上新增vue.prototype.axios axiosthis.axios或者axios 1.引數一表示請求位址 2.引數二表示配置資訊 3.params表示傳遞到伺服器端的資料...

vue使用axios實現非同步請求

首先,安裝axios和qs 然後,在main.js中引入 import axios from axios import qs from qs vue.prototype.axios axios todo 這裡qs怎麼全域性引入?我是前端小白。在vue.config.js下,module.export...

vue在使用ts時如何使用axios

原文 在vue中使用typescript時,當你想要在全域性按照this.axios這種形式來使用axios話,我們首先要將axios掛載到vue的原型上,使之能夠在全域性使用。vue.use v 但是,這樣還不行,typescript並不知道 axios這個屬性是什麼,即使被掛載到了vue的原型上...