Tauri Command

2024-02-05 16:40 更新

生成子进程的入口点。 它发出 ​close​ 和 ​error​ 事件。

import { Command } from '@tauri-apps/api/shell';
const command = new Command('node');
command.on('close', data => {
console.log(`command finished with code ${data.code} and signal ${data.signal}`)
});
command.on('error', error => console.error(`command error: "${error}"`));
command.stdout.on('data', line => console.log(`command stdout: "${line}"`));
command.stderr.on('data', line => console.log(`command stderr: "${line}"`));

const child = await command.spawn();
console.log('pid:', child.pid);

Since: 1.1.0

等级制度

  • EventEmitter< |"close" "error">
    • Command

构造 函数

constructor

new Command(: , : | [], : SpawnOptions): Commandprogramstringargs?stringstringoptions?

创建一个新实例。​Command

参数

名字 类型 默认值 描述
program string undefined 要执行的程序名称。
必须在 上配置它。tauri.conf.json > tauri > allowlist > shell > scope
args string | string[] [] 程序参数。
options? SpawnOptions undefined 生成选项。

Overrides: EventEmitter.constructor

Defined in: shell.ts:413

性能

stderr
Readonly stderrEventEmitter<"data">

的事件发射器。发出事件。stderrdata

Defined in: shell.ts:403

stdout
Readonly stdoutEventEmitter<"data">

的事件发射器。发出事件。stdoutdata

Defined in: shell.ts:401

方法

addListener

addListener(: | , : ): CommandeventName"error""close"listenerfn

的别名。emitter.on(eventName, listener)

Since: 1.1.0

参数

名字 类型
eventName "error" | "close"
listener (...:argsany[]) => void

Returns: Command

execute​​
execute():Promise<ChildProcess>

将命令作为子进程执行,等待其完成并收集其所有输出。

import { Command } from '@tauri-apps/api/shell';
const output = await new Command('echo', 'message').execute();
assert(output.code === 0);
assert(output.signal === null);
assert(output.stdout === 'message');
assert(output.stderr === '');

Returns: Promise<ChildProcess>

对子进程输出的 promise 解析。

listenerCount​​

listenerCount(: | ): eventName"error""close"number

返回侦听名为 的事件的侦听器数。eventName

Since: 1.1.0

参数

名字类型
eventName"error" | "close"

Returns: number

off

off(: | , : ): CommandeventName"error""close"listenerfn

从事件 eventName 的侦听器数组中删除所有指定的侦听器 返回对 的引用,以便可以链接调用。EventEmitter

Since: 1.1.0

参数

名字类型
eventName"error" | "close"
listener(...:argsany[]) => void

Returns: Command

on

on(: | , : ): CommandeventName"error""close"listenerfn

将函数添加到侦听器数组的末尾,以便 名为 的事件。不进行任何检查以查看是否具有 已添加。多个调用传递相同的组合 和 将导致被添加和调用多个 次。listenereventNamelistenereventNamelistenerlistener返回对 的引用,以便可以链接调用。EventEmitter

Since: 1.0.0

参数

名字类型
eventName"error" | "close"
listener(...:argsany[]) => void

Returns: Command

once

once(: | , : ): CommandeventName"error""close"listenerfn

为名为 的事件添加一次性函数。这 下次触发时,将删除此侦听器,然后调用。listenereventNameeventName

返回对 的引用,以便可以链接调用。EventEmitter

Since: 1.1.0

参数

名字类型
eventName"error" | "close"
listener(...:argsany[]) => void

Returns: Command

prependListener

prependListener(: | , : ): CommandeventName"error""close"listenerfn

将函数添加到侦听器数组的开头,以便 名为 的事件。不进行任何检查以查看是否具有 已添加。多个调用传递相同的组合 和 将导致被添加和调用多个 次。listenereventNamelistenereventNamelistenerlistener

返回对 的引用,以便可以链接调用。EventEmitter

Since: 1.1.0

参数

名字类型
eventName"error" | "close"
listener(...:argsany[]) => void

Returns: Command

prependOnceListener

prependOnceListener(: | , : ): CommandeventName"error""close"listenerfn

为侦听器数组开头命名的事件添加一次性函数。下次被触发时,这个 侦听器被删除,然后被调用。listenereventNameeventName

返回对 的引用,以便可以链接调用。EventEmitter

Since: 1.1.0

参数

名字类型
eventName"error" | "close"
listener(...:argsany[]) => void

Returns: Command

删除所有侦听器或指定 eventName 的侦听器。

返回对 的引用,以便可以链接调用。EventEmitter

参数

名字类型
event?"error" | "close"

Returns: Command

removeListener

removeListener(: | , : ): CommandeventName"error""close"listenerfn

的别名。emitter.off(eventName, listener)Returns: Command

Since: 1.1.0

参数

名字类型
eventName"error" | "close"
listener(...:argsany[]) => void

Returns: Command

spawn

spawn(): Promise<Child>

将命令作为子进程执行,并向其返回句柄。

Returns: Promise<Child>

解析到子进程句柄的承诺。

sidecar

Static sidecar(: , : | [], : SpawnOptions): Commandprogramstringargs?stringstringoptions?

创建一个命令来执行给定的 sidecar 程序。

import { Command } from '@tauri-apps/api/shell';
const command = Command.sidecar('my-sidecar');
const output = await command.execute();

参数

名字类型默认值描述
programstringundefined要执行的程序。
必须在 上配置它。tauri.conf.json > tauri > allowlist > shell > scope
argsstring | string[][]-
options?SpawnOptionsundefined-

Returns: Command


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号