Skip to content

useIpcRendererInvoke

Category
Export Size
213 B
Package
@vueuse/electron
Last Changed
last month

Reactive ipcRenderer.invoke API result. Make asynchronous operations look synchronous. Available in the @vueuse/electron add-on.

Usage

ts
import { 
useIpcRendererInvoke
} from '@vueuse/electron'
import {
computed
} from 'vue'
// enable nodeIntegration if you don't provide ipcRenderer explicitly // see: https://www.electronjs.org/docs/api/webview-tag#nodeintegration // Ref result will return const
result
=
useIpcRendererInvoke
<string>('custom-channel', 'some data')
const
msg
=
computed
(() =>
result
.
value
?.msg)
js
import { useIpcRendererInvoke } from '@vueuse/electron'
import { computed } from 'vue'
// enable nodeIntegration if you don't provide ipcRenderer explicitly
// see: https://www.electronjs.org/docs/api/webview-tag#nodeintegration
// Ref result will return
const result = useIpcRendererInvoke('custom-channel', 'some data')
const msg = computed(() => result.value?.msg)

Type Declarations

Show Type Declarations
ts
/**
 * Returns Promise<any> - Resolves with the response from the main process.
 *
 * Send a message to the main process via channel and expect a result ~~asynchronously~~. As composition-api, it makes asynchronous operations look like synchronous.
 *
 * You need to provide `ipcRenderer` to this function.
 *
 * @see https://www.electronjs.org/docs/api/ipc-renderer#ipcrendererinvokechannel-args
 * @see https://vueuse.org/useIpcRendererInvoke
 *
 * @__NO_SIDE_EFFECTS__
 */
export declare function 
useIpcRendererInvoke
<
T
>(
ipcRenderer
:
IpcRenderer
,
channel
: string,
...
args
: any[]
):
ShallowRef
<
T
| null>
/** * Returns Promise<any> - Resolves with the response from the main process. * * Send a message to the main process via channel and expect a result ~~asynchronously~~. As composition-api, it makes asynchronous operations look like synchronous. * * `ipcRenderer` will be automatically gotten. * * @see https://www.electronjs.org/docs/api/ipc-renderer#ipcrendererinvokechannel-args * @see https://vueuse.org/useIpcRendererInvoke * * @__NO_SIDE_EFFECTS__ */ export declare function
useIpcRendererInvoke
<
T
>(
channel
: string,
...
args
: any[]
):
ShallowRef
<
T
| null>

Source

SourceDocs

Contributors

Anthony Fu
SerKo
IlyaL
Curt Grimes
ArcherGu

Changelog

d32f8 - refactor: add @__NO_SIDE_EFFECTS__ annotations to all pure functions (#4907)
0a9ed - feat!: drop Vue 2 support, optimize bundles and clean up (#4349)
cb644 - refactor!: remove isFunction and isString utils

Released under the MIT License.