诚城的成长 诚城的成长
首页
  • 高数基础
  • 数一

    • 高等数学
    • 线性代数
    • 概率论与数理统计
  • 820

    • 数据结构
    • 计算机操作系统
  • 英一

    • 单词
    • 语法
    • 阅读理解
    • 作文
  • 政治

    • 马克思主义基本原理
    • 毛泽东
    • 近代史
    • 思修
    • 时事
  • openpose
  • html5
  • css3
  • UI

    • Tailwind Css
    • Element-Plus
    • UniApp
  • 框架

    • Vue3
  • 拓展包

    • 包管理工具
    • 包开发
  • 开发语言

    • C语言
    • PHP
    • Phyton
  • 框架

    • Laravel
  • 会计

    • 初级经济法基础
    • 初级会计实务
  • 软考

    • 信息系统项目管理师
  • 博客

    • vitepress
    • vuepress
  • manim
  • git
  • vsCode
  • latex
  • docker
  • axios
  • vim
  • mac
  • Jetbrains

    • phpstorm
    • clion
突发奇想
GitHub (opens new window)

诚城

我有N个梦想……
首页
  • 高数基础
  • 数一

    • 高等数学
    • 线性代数
    • 概率论与数理统计
  • 820

    • 数据结构
    • 计算机操作系统
  • 英一

    • 单词
    • 语法
    • 阅读理解
    • 作文
  • 政治

    • 马克思主义基本原理
    • 毛泽东
    • 近代史
    • 思修
    • 时事
  • openpose
  • html5
  • css3
  • UI

    • Tailwind Css
    • Element-Plus
    • UniApp
  • 框架

    • Vue3
  • 拓展包

    • 包管理工具
    • 包开发
  • 开发语言

    • C语言
    • PHP
    • Phyton
  • 框架

    • Laravel
  • 会计

    • 初级经济法基础
    • 初级会计实务
  • 软考

    • 信息系统项目管理师
  • 博客

    • vitepress
    • vuepress
  • manim
  • git
  • vsCode
  • latex
  • docker
  • axios
  • vim
  • mac
  • Jetbrains

    • phpstorm
    • clion
突发奇想
GitHub (opens new window)
  • start
  • pinia

    • pinia
    • state
    • action
      • 异步数据
      • 实现
    • getter
    • other
    • 持久化存储
  • router
  • setup
  • solt
  • computed
  • component.md

  • map
  • vue3
  • pinia
诚城
2022-04-15
目录

action原创

# 异步数据

涉及 Promise 知识领域。

// 以下为假设数据
// type 定义类型 使用 <User> 来限定对象类型
type User = {
  name:string,
  age:number
}
// 模拟 异步请求数据
const login = ():Promise<User> => { // 返回Promise,并指定类型
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve({
        // 对象数据
        name: '老手队2',
        age: 202
      })
    }, 2000) // 2000延时
  })
}

# 实现

// Xxxx.ts
actions: {
    changeB(num:Number) {
      this.user.age = num
    },
    setUser() {
      this.user = result
    },
    // 异步数据处理
    async setUsers() { // 异步必须使用 async
      const info = await login() // 异步必须使用 await
      this.user = info
      // 可以调用其他方法
      this.changeB(26)
    }
  }
<template>
  <view class="content">
    <view>用户: {{ user.name }}</view>
    <view>年龄: {{ user.age }}</view>
    <button @click="setUser">设置用户</button>
    <button @click="setUserss">异步设置用户</button>
  </view>
</template>

<script setup lang="ts">
import { storeToRefs } from 'pinia'
import { useXxxxStore } from '@/stores/Xxxx'
const Xxxx = useXxxxStore()

const setUser = () => {
  Xxxx.setUser()
}

const setUserss = () => {
  Xxxx.setUsers()
}
</script>
#vuex
上次更新: 2022/08/23, 18:12:45
state
getter

← state getter→

Theme by Vdoing | Copyright © 2022-2022 carveybunt | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×
×

特别申明:

本站所有内容均为个人理解或转载,如有不当之处,敬请大佬指导!