• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript event.fromNodeEventEmitter函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了TypeScript中vs/base/common/event.fromNodeEventEmitter函数的典型用法代码示例。如果您正苦于以下问题:TypeScript fromNodeEventEmitter函数的具体用法?TypeScript fromNodeEventEmitter怎么用?TypeScript fromNodeEventEmitter使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了fromNodeEventEmitter函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。

示例1: mapEvent

		return mapEvent(onHello, webContents => {
			const onMessage = createScopedOnMessageEvent(webContents.getId());
			const protocol = new Protocol(webContents, onMessage);
			const onDidClientDisconnect = fromNodeEventEmitter<void>(webContents, 'destroyed');

			return { protocol, onDidClientDisconnect };
		});
开发者ID:AlexxNica,项目名称:sqlopsstudio,代码行数:7,代码来源:ipc.electron-main.ts


示例2: constructor

	constructor() {
		super({
			send: r => { try { process.send(r); } catch (e) { /* not much to do */ } },
			onMessage: fromNodeEventEmitter(process, 'message', msg => msg)
		});

		process.once('disconnect', () => this.dispose());
	}
开发者ID:liunian,项目名称:vscode,代码行数:8,代码来源:ipc.cp.ts


示例3: getOnDidClientConnect

	private static getOnDidClientConnect(): Event<ClientConnectionEvent> {
		const onHello = fromNodeEventEmitter<WebContents>(ipcMain, 'ipc:hello', ({ sender }) => sender);

		return mapEvent(onHello, webContents => {
			const onMessage = createScopedOnMessageEvent(webContents.getId());
			const protocol = new Protocol(webContents, onMessage);
			const onDidClientDisconnect = fromNodeEventEmitter<void>(webContents, 'destroyed');

			return { protocol, onDidClientDisconnect };
		});
	}
开发者ID:AlexxNica,项目名称:sqlopsstudio,代码行数:11,代码来源:ipc.electron-main.ts


示例4: getOnDidClientConnect

	private static getOnDidClientConnect(): Event<ClientConnectionEvent> {
		const onHello = fromNodeEventEmitter<Electron.WebContents>(ipcMain, 'ipc:hello', ({ sender }) => sender);

		return mapEvent(onHello, webContents => {
			const onMessage = createScopedOnMessageEvent(webContents.id, 'ipc:message');
			const onDidClientDisconnect = signalEvent(createScopedOnMessageEvent(webContents.id, 'ipc:disconnect'));
			const protocol = new Protocol(webContents, onMessage);

			return { protocol, onDidClientDisconnect };
		});
	}
开发者ID:KTXSoftware,项目名称:KodeStudio,代码行数:11,代码来源:ipc.electron-main.ts


示例5: createProtocol

	private static createProtocol(): Protocol {
		const onMessage = fromNodeEventEmitter<string>(ipcRenderer, 'ipc:message', (_, message) => message);
		ipcRenderer.send('ipc:hello');
		return new Protocol(ipcRenderer, onMessage);
	}
开发者ID:AlexxNica,项目名称:sqlopsstudio,代码行数:5,代码来源:ipc.electron-browser.ts


示例6: client

	private get client(): IPCClient {
		if (!this._client) {
			const args = this.options && this.options.args ? this.options.args : [];
			const forkOpts: ForkOptions = Object.create(null);

			forkOpts.env = assign(deepClone(process.env), { 'VSCODE_PARENT_PID': String(process.pid) });

			if (this.options && this.options.env) {
				forkOpts.env = assign(forkOpts.env, this.options.env);
			}

			if (this.options && this.options.freshExecArgv) {
				forkOpts.execArgv = [];
			}

			if (this.options && typeof this.options.debug === 'number') {
				forkOpts.execArgv = ['--nolazy', '--inspect=' + this.options.debug];
			}

			if (this.options && typeof this.options.debugBrk === 'number') {
				forkOpts.execArgv = ['--nolazy', '--inspect-brk=' + this.options.debugBrk];
			}

			this.child = fork(this.modulePath, args, forkOpts);

			const onMessageEmitter = new Emitter<any>();
			const onRawMessage = fromNodeEventEmitter(this.child, 'message', msg => msg);

			onRawMessage(msg => {

				// Handle remote console logs specially
				if (isRemoteConsoleLog(msg)) {
					log(msg, `IPC Library: ${this.options.serverName}`);
					return null;
				}

				// Anything else goes to the outside
				onMessageEmitter.fire(msg);
			});

			const sender = this.options.useQueue ? createQueuedSender(this.child) : this.child;
			const send = r => this.child && this.child.connected && sender.send(r);
			const onMessage = onMessageEmitter.event;
			const protocol = { send, onMessage };

			this._client = new IPCClient(protocol);

			const onExit = () => this.disposeClient();
			process.once('exit', onExit);

			this.child.on('error', err => console.warn('IPC "' + this.options.serverName + '" errored with ' + err));

			this.child.on('exit', (code: any, signal: any) => {
				process.removeListener('exit', onExit);

				if (this.activeRequests) {
					this.activeRequests.forEach(req => req.cancel());
					this.activeRequests = [];
				}

				if (code !== 0 && signal !== 'SIGTERM') {
					console.warn('IPC "' + this.options.serverName + '" crashed with exit code ' + code + ' and signal ' + signal);
					this.disposeDelayer.cancel();
					this.disposeClient();
				}
			});
		}

		return this._client;
	}
开发者ID:liunian,项目名称:vscode,代码行数:70,代码来源:ipc.cp.ts


示例7: createScopedOnMessageEvent

function createScopedOnMessageEvent(senderId: number): Event<any> {
	const onMessage = fromNodeEventEmitter<IIPCEvent>(ipcMain, 'ipc:message', (event, message) => ({ event, message }));
	const onMessageFromSender = filterEvent(onMessage, ({ event }) => event.sender.getId() === senderId);
	return mapEvent(onMessageFromSender, ({ message }) => message);
}
开发者ID:AlexxNica,项目名称:sqlopsstudio,代码行数:5,代码来源:ipc.electron-main.ts


示例8: createScopedOnMessageEvent

function createScopedOnMessageEvent(senderId: number, eventName: string): Event<string> {
	const onMessage = fromNodeEventEmitter<IIPCEvent>(ipcMain, eventName, (event, message: string) => ({ event, message }));
	const onMessageFromSender = filterEvent(onMessage, ({ event }) => event.sender.id === senderId);
	return mapEvent(onMessageFromSender, ({ message }) => message);
}
开发者ID:KTXSoftware,项目名称:KodeStudio,代码行数:5,代码来源:ipc.electron-main.ts



注:本文中的vs/base/common/event.fromNodeEventEmitter函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript event.mapEvent函数代码示例发布时间:2022-05-25
下一篇:
TypeScript event.filterEvent函数代码示例发布时间:2022-05-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap