<script lang="ts" setup>
import axios from "axios";
axios.defaults.baseURL = "http://127.0.0.1:8080";
let count: number = 0;
// 消息队列(存 Promise 链)
let queue = Promise.resolve();
const onClick = (cnt: number) => {
queue = queue.then(() => doSomething(cnt));
}
const postRequest = async (cnt: number) => {
await axios.post<string>("/get").then((value) => {
console.log(cnt, value);
});
}
const doSomething = async (cnt: number) => {
console.log("do some preparation now...");
await postRequest(cnt);
}
</script>
<template>
<button @click="onClick(count++)">CLICK</button>
</template>
<style scoped>
</style>
Comment