国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

nuxt3 useFetch封裝一個(gè)api接口http請(qǐng)求 - 解決刷新頁面useFetch無返回

這篇具有很好參考價(jià)值的文章主要介紹了nuxt3 useFetch封裝一個(gè)api接口http請(qǐng)求 - 解決刷新頁面useFetch無返回。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

項(xiàng)目中封裝接口請(qǐng)求,并且解決刷新頁面useFetch無返回?cái)?shù)據(jù)問題
刷新頁面useFetch無返回?cái)?shù)據(jù)問題:

瀏覽器刷新的時(shí)候頁面沒有顯示數(shù)據(jù),接口data無返回。本身nuxt的useFetch在參數(shù)不變的情況下,數(shù)據(jù)是不會(huì)重新從后臺(tái)接口去請(qǐng)求數(shù)據(jù)的,會(huì)直接拿上一次的結(jié)果。但是有實(shí)時(shí)去后臺(tái)獲取數(shù)據(jù)這樣的需求,
比如我的關(guān)注頁面,在其他頁面點(diǎn)了關(guān)注,每次進(jìn)這個(gè)頁面或者刷新都需要去后臺(tái)重新獲取數(shù)據(jù),所以我給入?yún)⒓恿艘粋€(gè)以時(shí)間戳為值的參數(shù)key,但是這樣導(dǎo)致每次F5刷新頁面的時(shí)候,都拿不到數(shù)據(jù),導(dǎo)致頁面沒有顯示。Suspense不起作用。

utils/https.ts

import { _AsyncData } from "nuxt3/dist/app/composables/asyncData";
import { ElMessage } from "element-plus";

const baseUrl = "";
// 指定后端返回的基本數(shù)據(jù)類型
export interface ResponseConfig {
  code: number;
  status: number;
  data: any;
  msg: string;
}
export interface ValueConfig {
  value: any;
}

const fetch = async (url: string, options?: any): Promise<any> => {
  await nextTick(); //解決刷新頁面useFetch無返回
  const reqUrl = baseUrl + url;
  return new Promise((resolve, reject) => {
    useFetch(reqUrl, { ...options })
      .then(({ data, error }: _AsyncData) => {
        if (error.value) {
          reject(error.value);
          return;
        }
        const value = data.value;
        if (!value) {
          console.log("執(zhí)行錯(cuò)誤了");
          // 這里處理錯(cuò)誤回調(diào)
          // reject(value)
          // $router.replace('/reject/' + value.status)
        } else if (value.code === 102) {
          ElMessage({
            message: value.msg,
            type: "error",
          });
        } else {
          resolve(ref(value));
        }
      })
      .catch((err: any) => {
        reject(err);
      });
  });
};

export default new (class Http {
  get(url: string, params?: any): Promise<any> {
    return fetch(url, { method: "get", params });
  }

  post(url: string, params?: any): Promise<any> {
    return fetch(url, { method: "post", params });
  }

  put(url: string, body?: any): Promise<any> {
    return fetch(url, { method: "put", body });
  }

  delete(url: string, body?: any): Promise<any> {
    return fetch(url, { method: "delete", body });
  }
})();

使用方法:composables/index.ts,api接口放在這個(gè)里面會(huì)自動(dòng)導(dǎo)入函數(shù)

import Http from "@/utils/http";

/**
 * 測(cè)試接口
 */
export const getTags = () => {
  return Http.get("https://api/apiWx/wechat-config");
};

在頁面或者組件中使用:文章來源地址http://www.zghlxwxcb.cn/news/detail-505959.html

onMounted(() => {
   getTags()
     .then((res) => {
       console.log(res.value.data, "res");
     })
     .catch((err) => {
      console.log(err, "錯(cuò)誤");
   });
});

到了這里,關(guān)于nuxt3 useFetch封裝一個(gè)api接口http請(qǐng)求 - 解決刷新頁面useFetch無返回的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • nuxt3:接口轉(zhuǎn)發(fā),實(shí)現(xiàn)跨域

    一、背景 當(dāng)接口請(qǐng)求的域名和項(xiàng)目適用的域名不一致時(shí)候,可以適用接口轉(zhuǎn)發(fā)的方法實(shí)現(xiàn)跨域。 原理:服務(wù)的請(qǐng)求接口是不跨域的,nuxt3服務(wù)端請(qǐng)求接口后轉(zhuǎn)發(fā)給localhost:3000。 本地開發(fā),生產(chǎn)環(huán)境均可以使用。 二、理解服務(wù)器中間件 Nuxt 將自動(dòng)讀取 ~/server/middleware ?中的任何

    2024年02月14日
    瀏覽(25)
  • uniapp api請(qǐng)求接口 封裝

    2024年02月12日
    瀏覽(20)
  • uniapp接口請(qǐng)求api封裝,規(guī)范化調(diào)用

    uniapp接口請(qǐng)求api封裝,規(guī)范化調(diào)用

    封裝規(guī)范和vue中的差不多,都是統(tǒng)一封裝成一個(gè)request對(duì)象,然后在api.js里面調(diào)用。 先創(chuàng)建一個(gè)utils文件夾,然后里面創(chuàng)建一個(gè)request.js,代碼如下: 在api文件夾中封裝對(duì)應(yīng)的index.js文件,然后導(dǎo)入request對(duì)象: 在對(duì)應(yīng)的vue或者react中引入并調(diào)用:

    2024年02月08日
    瀏覽(20)
  • vue2,3,小程序,uniapp的API請(qǐng)求封裝統(tǒng)一管理請(qǐng)求接口

    vue2,3,小程序,uniapp的API請(qǐng)求封裝統(tǒng)一管理請(qǐng)求接口

    目錄 ?微信小程序 request.js api.js頁面? 頁面使用? ?uniapp request.js封裝公共請(qǐng)求頭 api.js里面存放api方法 在頁面引入方法 vue2、3 request.js封裝公共請(qǐng)求頭 api.js文件 頁面引入 ? request.js api.js頁面? 頁面使用? 引入 注意:微信小程序里面默認(rèn)不能使用絕對(duì)路徑,要使用../../../這樣

    2024年02月03日
    瀏覽(24)
  • UniApp實(shí)現(xiàn)API接口封裝與請(qǐng)求方法的設(shè)計(jì)與開發(fā)方法

    UniApp實(shí)現(xiàn)API接口封裝與請(qǐng)求方法的設(shè)計(jì)與開發(fā)方法 導(dǎo)語:UniApp是一個(gè)基于Vue.js的跨平臺(tái)開發(fā)框架,可以同時(shí)開發(fā)iOS、Android和H5應(yīng)用。在UniApp中,實(shí)現(xiàn)API接口封裝與請(qǐng)求方法的設(shè)計(jì)與開發(fā)是一個(gè)十分重要的部分。本文將介紹如何使用UniApp實(shí)現(xiàn)API接口封裝與請(qǐng)求方法的設(shè)計(jì)與開發(fā)

    2024年02月15日
    瀏覽(17)
  • C#中請(qǐng)求HTTP接口api的方法

    C#中請(qǐng)求HTTP接口api的方法

    大家好,我是雄雄,歡迎關(guān)注微信公眾號(hào): 雄雄的小課堂 現(xiàn)在是:2023年2月15日22:14:30 搞代碼的 陳戌源 都知道,哦,不好意思,是程序員,那個(gè) 陳戌源 好像是個(gè)“清官”…我們都知道,在 java 中調(diào)用 api 接口很簡(jiǎn)單,網(wǎng)上也有好多封裝好的依賴,我們?cè)陧?xiàng)目中直接添加依賴

    2024年02月06日
    瀏覽(22)
  • 【Nuxt3】modules目錄和nuxt3模塊的簡(jiǎn)單介紹

    【Nuxt3】modules目錄和nuxt3模塊的簡(jiǎn)單介紹

    記錄下nuxt3項(xiàng)目中module的用法 使用 modules/ 目錄在應(yīng)用程序中自動(dòng)注冊(cè)本地模塊。 這是一個(gè)很好的地方,可以放置您在構(gòu)建應(yīng)用程序時(shí)開發(fā)的任何本地nuxt模塊。 nuxt模塊相當(dāng)于npm包,可以發(fā)布到npm社區(qū)中 在modules/ 目錄下的本地模塊,會(huì)自動(dòng)注冊(cè)模塊,無需在 nuxt.config.ts文件中

    2024年04月27日
    瀏覽(22)
  • 【Nuxt3】nuxt3目錄文件詳情描述:.nuxt、.output、assets、public、utils(一)

    【Nuxt3】nuxt3目錄文件詳情描述:.nuxt、.output、assets、public、utils(一)

    nuxt3的中文網(wǎng)站 上次簡(jiǎn)單介紹了nuxt3創(chuàng)建項(xiàng)目的方法和目錄文件大概用處。 這次詳細(xì)說下.nuxt、.output、assets、public、utils五個(gè)文件夾的用處。 Nuxt在開發(fā)中使用.nuxt/目錄來生成你的Vue應(yīng)用程序。 為了避免將開發(fā)構(gòu)建的輸出推送到你的代碼倉庫中,你應(yīng)該將這個(gè)目錄添加到你的

    2024年01月18日
    瀏覽(19)
  • PHP 如何設(shè)計(jì)一個(gè)高安全的電商平臺(tái):淘寶/京東商品類API封裝接口

    PHP 如何設(shè)計(jì)一個(gè)高安全的電商平臺(tái):淘寶/京東商品類API封裝接口

    如何保證API接口安全 接口的安全性主要圍繞Token、Timestamp和Sign三個(gè)機(jī)制展開設(shè)計(jì),保證接口的數(shù)據(jù)不會(huì)被篡改和重復(fù)調(diào)用,下面具體來看: Token授權(quán)機(jī)制 :用戶使用用戶名密碼登錄后服務(wù)器給客戶端返回一個(gè)Token(通常是UUID),并將Token-UserId以鍵值對(duì)的形式存放在緩存服務(wù)

    2024年02月09日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包