createEventHook
用于创建事件钩子的工具
¥Utility for creating event hooks
用法
¥Usage
创建使用 createEventHook
的函数
¥Creating a function that uses createEventHook
ts
import { createEventHook } from '@vueuse/core'
export function useMyFetch(url) {
const fetchResult = createEventHook<Response>()
const fetchError = createEventHook<any>()
fetch(url)
.then(result => fetchResult.trigger(result))
.catch(error => fetchError.trigger(error.message))
return {
onResult: fetchResult.on,
onError: fetchError.on,
}
}
js
import { createEventHook } from '@vueuse/core'
export function useMyFetch(url) {
const fetchResult = createEventHook()
const fetchError = createEventHook()
fetch(url)
.then((result) => fetchResult.trigger(result))
.catch((error) => fetchError.trigger(error.message))
return {
onResult: fetchResult.on,
onError: fetchError.on,
}
}
使用使用 createEventHook
的函数
¥Using a function that uses createEventHook
vue
<script setup lang="ts">
import { useMyFetch } from './my-fetch-function'
const { onResult, onError } = useMyFetch('my api url')
onResult((result) => {
console.log(result)
})
onError((error) => {
console.error(error)
})
</script>