Skip to content

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>