415
416
private onPromise(request: IRawPromiseRequest): void {
417
>
const channel = this.channels.get(request.channelName);
ipc.ts
418
>
419
>
if (!channel) {
420
this.collectPendingRequest(request);
421
return;
422
}
424
>
const cancellationTokenSource = new CancellationTokenSource();
425
>
let promise: Promise<any>;
426
>
427
>
try {
428
>
promise = channel.call(this.ctx, request.name, request.arg, cancellationTokenSource.token);
429
>
} catch (err) {
430
promise = Promise.reject(err);
431
}
433
>
const id = request.id;
434
>
435
>
promise.then(data => {
436
this.sendResponse({ id, data, type: ResponseType.PromiseSuccess });
438
if (err instanceof Error) {
439
this.sendResponse({