Vue3按順序調用新增和查詢接口

Vue3按順序調用新增和查詢接口

  • 一、前言
    • 1、代碼


一、前言

如果你想將兩個調用接口的操作封裝在不同的方法中,你可以考慮將這兩個方法分別定義為異步函數,并在需要時依次調用它們。以下是一個示例代碼:

1、代碼

<template><div><button @click="addAndFetch">新增并查詢</button><p v-if="loading">加載中...</p><div v-if="result"><h2>{{ result.title }}</h2><p>{{ result.body }}</p></div><p v-if="error">{{ error }}</p></div>
</template><script>
import { ref } from 'vue';
import axios from 'axios';export default {setup() {const loading = ref(false);const result = ref(null);const error = ref('');// 封裝新增接口調用const addPost = async () => {try {const addResponse = await axios.post('https://jsonplaceholder.typicode.com/posts', {title: 'New Post',body: 'This is a new post.',userId: 1,});return addResponse.data;} catch (err) {throw new Error('新增操作失敗');}};// 封裝查詢接口調用const fetchPost = async (postId) => {try {const fetchResponse = await axios.get(`https://jsonplaceholder.typicode.com/posts/${postId}`);return fetchResponse.data;} catch (err) {throw new Error('查詢操作失敗');}};// 新增并查詢操作const addAndFetch = async () => {loading.value = true;try {// 調用新增接口方法const addedPost = await addPost();// 調用查詢接口方法result.value = await fetchPost(addedPost.id);} catch (err) {error.value = err.message;} finally {loading.value = false;}};return {loading,result,error,addAndFetch,};},
};
</script>

在這個示例中,我們將新增接口調用封裝在 addPost 方法中,將查詢接口調用封裝在 fetchPost 方法中。然后,在 addAndFetch 方法中依次調用這兩個封裝的方法,以實現新增并查詢的操作。

這種方式使代碼更加模塊化和可維護,每個方法都負責一個特定的功能,降低了代碼的復雜度。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/14722.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/14722.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/14722.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

豐田精益生產的模板

豐田精益生產&#xff0c;也被稱為豐田生產方式&#xff08;Toyota Production System, TPS&#xff09;&#xff0c;是一套完整的生產和管理系統&#xff0c;其核心目標是最大化效率、消除浪費&#xff0c;并通過持續改進來提升產品質量。 學習優秀企業 學習福特 豐田精益生產…

C語言之函數指針(持續更新)

C語言精髓是指針&#xff0c;指針知識深似海&#xff0c;遇到一些學習一些~ 文章目錄 1. typedef 定義函數指針類型2. void* 空指針的解引用 1. typedef 定義函數指針類型 函數參數化是指通過函數指針將函數的某些行為參數化。這樣&#xff0c;我們可以在調用函數時動態地指定…

【每日刷題】Day48

【每日刷題】Day48 &#x1f955;個人主頁&#xff1a;開敲&#x1f349; &#x1f525;所屬專欄&#xff1a;每日刷題&#x1f34d; &#x1f33c;文章目錄&#x1f33c; 1. 872. 葉子相似的樹 - 力扣&#xff08;LeetCode&#xff09; 2. 114. 二叉樹展開為鏈表 - 力扣&…

react中怎么為props設置默認值

在React中&#xff0c;你可以使用ES6的類屬性&#xff08;class properties&#xff09;或者函數組件中的默認參數&#xff08;default parameters&#xff09;來定義props的默認值。 1.類組件中定義默認props 對于類組件&#xff0c;你可以在組件內部使用defaultProps屬性來…

如何撰寫EI會議的投稿信?

撰寫EI會議的投稿信&#xff08;Cover Letter&#xff09;是向會議組織者介紹你的論文和研究工作的一個重要環節。以下是撰寫投稿信的一些關鍵步驟和建議&#xff1a; 投稿信的結構 信頭 你的信息&#xff1a;包括姓名、職位、單位名稱、通訊地址、電子郵件和電話號碼。日期&am…

力扣652. 尋找重復的子樹

Problem: 652. 尋找重復的子樹 文章目錄 題目描述思路復雜度Code 題目描述 思路 1.利用二叉樹的后序遍歷將原始的二叉樹序列化&#xff08;之所以利用后序遍歷是因為其在歸的過程中是會攜帶左右子樹的節點信息,而這些節點信息正是該解法要利用的東西&#xff09;&#xff1b; 2…

js積累二(web頁面實現 時間走秒)

<tr><td class"ys04"><span class"ys02">當前時間&#xff1a;</span></td><td colspan"2"><span class"showTime"></span><script>var t null;t setTimeout(time, 1000); /…

【ai】chatgpt的plugin已經廢棄

發現找不到按鈕,原來是要申請: https://openai.com/index/chatgpt-plugins/ 發現申請已經跳轉了,好像是廢棄了? 不接受新插件了,但是openai的api 是可以繼續用的。 https://openai.com/waitlist/plugins/We are no longer accepting new Plugins, builders can now create…

Windows11的這個地方暴露著你的隱私,把它關掉避免尷尬

前言 現在的電腦真的是越來越智能化&#xff01;現在有很多小伙伴都是用著Windows11的吧&#xff01;用習慣了Windows11之后&#xff0c;突然發現它還是挺順手的。 但不知道你有沒有發現&#xff0c;Windows11上面有個地方暴露著你的隱私。這個隱私可能是某個小姐姐的圖片&am…

XSS---DOM破壞

文章目錄 前言一、pandas是什么&#xff1f;二、使用步驟 1.引入庫2.讀入數據總結 一.什么是DOM破壞 在HTML中&#xff0c;如果使用一些特定的屬性名&#xff08;如id或name&#xff09;給DOM元素命名&#xff0c;這些屬性會在全局作用域中創建同名的全局變量&#xff0c;指向對…

算法:最大連續子序列和

53. 最大子數組和 給你一個整數數組 nums &#xff0c;請你找出一個具有最大和的連續子數組&#xff08;子數組最少包含一個元素&#xff09;&#xff0c;返回其最大和。 子數組是數組中的一個連續部分。 class Solution:def maxSubArray(self, nums: List[int]) -> int:a…

Vue $nextTick作?是什么怎么使用

Vue中的$nextTick是一個非常重要的方法&#xff0c;主要用于在DOM更新后執行延遲回調。其工作原理基于Vue的異步更新隊列機制。 當你在Vue實例上修改數據后&#xff0c;Vue并不會立即更新DOM&#xff0c;而是將這些修改操作推入一個隊列中&#xff0c;并在下一個事件循環的“t…

Shell | shell腳本中使用cp指令(外兩則)

sample"ENCFF253NIN" #等號兩側避免使用空格 source_path"/home/xxzhang/workplace/project/CRISPRa/Pacbio/CCS_TE.2/" target_path"./" cp "$source_path"/00-common_all.vcf.gz "$target_path" cp "$source_path&qu…

如何在Python中實現迭代器和可迭代對象

在Python中&#xff0c;可迭代對象&#xff08;iterable&#xff09;是一個對象&#xff0c;它可以返回一個迭代器&#xff08;iterator&#xff09;用于遍歷其元素。迭代器是一個對象&#xff0c;它有一個 __next__() 方法&#xff08;在Python 2中&#xff0c;它是 next() 方…

LiveGBS流媒體平臺GB/T28181用戶手冊-用戶管理:添加用戶、編輯、關聯通道、搜索、重置密碼

LiveGBS流媒體平臺GB/T28181用戶手冊-用戶管理:添加用戶、編輯、關聯通道、搜索、重置密碼 1、用戶管理1.1、添加用戶1.2、編輯用戶1.3、關聯通道1.4、重置密碼1.5、搜索1.6、刪除 2、搭建GB28181視頻直播平臺 1、用戶管理 1.1、添加用戶 添加用戶&#xff0c;可以配置登陸用戶…

STM32-按鍵控制LED

接上篇LED點亮;http://t.csdnimg.cn/9r6z7 目錄 一.硬件設計 二.軟件設計 三.完整代碼 四.結束語 一.硬件設計 按鈕接電源插入PB0引腳,如上圖所示 二.軟件設計 void key_init() {GPIO_InitTypeDef GPIO_InitStruct;//使能時鐘RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIO…

【LeetCode:496. 下一個更大元素 I + 單調棧】

&#x1f680; 算法題 &#x1f680; &#x1f332; 算法刷題專欄 | 面試必備算法 | 面試高頻算法 &#x1f340; &#x1f332; 越難的東西,越要努力堅持&#xff0c;因為它具有很高的價值&#xff0c;算法就是這樣? &#x1f332; 作者簡介&#xff1a;碩風和煒&#xff0c;…

問題解決記錄1:nvidia-container-cli: initialization error: load library failed

本地docker運行 $ docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi 遇到這種報錯 Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error dur…

案例分享|Alluxio在自動駕駛模型訓練中的應用與部署

分享嘉賓&#xff1a; 楊林三-輝羲智能 關于輝羲智能&#xff1a; 輝羲智能致力打造創新車載智能計算平臺&#xff0c;提供高階智能駕駛芯片、易用開放工具鏈及全棧自動駕駛解決方案&#xff0c;運用獨創性“數據閉環定義芯片”方法學&#xff0c;助力車企構建低成本、大規模和…

百度生成數據庫

問題1&#xff1a; 幫我創建2個表student與score表&#xff0c;要求student表有id,createDate,userName,phone,age,sex,introduce&#xff0c; 要求score表有id,scoreName,result,studentId(student表的id外鍵)。 要求student表中插入5條學生信息&#xff0c;都要是中文的。 要…