Initialize Clash Web source and deployment documentation
This commit is contained in:
commit
8e0fa00a73
66 files changed
+8532
No files matched your search
@@ -0,0 +1,15 @@
|
||||
import { ref } from 'vue'
|
||||
import { useMessage } from 'naive-ui'
|
||||
|
||||
export function useTask() {
|
||||
const busy = ref(false)
|
||||
const message = useMessage()
|
||||
async function run(task: () => Promise<unknown>, success?: string) {
|
||||
if (busy.value) return false
|
||||
busy.value = true
|
||||
try { await task(); if (success) message.success(success); return true }
|
||||
catch (e) { message.error((e as Error).message, { duration: 6000 }); return false }
|
||||
finally { busy.value = false }
|
||||
}
|
||||
return { busy, run, message }
|
||||
}
|
||||
Reference in new issue
Block a user