聊聊vue中同步和非同步請求設定

PHPz
發布: 2023-04-09 18:30:02
原創
4652 人瀏覽過

Vue.js 是一款非常流行的前端框架,支援非同步請求的同時,也提供了同步請求的方法。在開發中,有時我們需要進行同步請求,本文將介紹 Vue 中的同步請求設定和非同步請求設定。

一、什麼是同步請求?
在前端開發中,我們通常使用非同步請求(如 Ajax)來與後端進行資料互動。非同步請求是指發送請求後,不會等待請求返回,而是直接執行後續代碼,等到資料返回後再處理。而同步請求則是在發送請求後,會等待請求返回後再執行後續代碼,直到請求返回後才會繼續執行。

二、Vue 中的同步請求設定
Vue 中使用 axios 進行資料請求,而 axios 預設的請求方式為非同步,如果需要進行同步請求,則需要將其設定為同步模式。設定同步方法如下:

1.將axios.defaults.adapter 的值改為http(node.js 中的預設http 模組)

axios.defaults.adapter = require('axios/lib/adapters/http');
登入後複製

2.將axios 的請求方式改為post,並將async 設為false 即可實現同步請求。

axios({method:'post',url:url,data:data,async:false})
登入後複製

需要注意的是,使用同步請求可能會導致頁面卡頓,建議在必要的情況下使用。

三、Vue 中的非同步請求設定
在 Vue 中,非同步請求是比較常用的一種方式,一般使用 axios 進行傳送。以下為axios 常見方式:

1.get 請求

axios.get('/user?id=234')
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });
登入後複製

2.post 請求

axios.post('/user', {
    firstName: 'Fred',
    lastName: 'Flintstone'
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });
登入後複製

3.公用請求設定

axios.defaults.baseURL = 'https://api.example.com';
axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
登入後複製

四、總結
本文主要介紹了Vue 中的同步請求及非同步請求設定方式。在實際開發中,需要根據需求選擇不同的請求方式,同時也需要注意請求方式對頁面的效能影響。需要特別注意的是,同步請求會卡住頁面,會導致使用者體驗不佳,應盡量避免。

以上是聊聊vue中同步和非同步請求設定的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!