MCPcopy Index your code
hub / github.com/subquery/subql / execute

Function execute

packages/node-core/src/indexer/worker/worker.builder.ts:111–140  ·  view source on GitHub ↗
(fnName: keyof T, args: any[])

Source from the content-addressed store, hash-verified

109 }
110
111 protected async execute<T>(fnName: keyof T, args: any[]): Promise<T> {
112 const id = this.getReqId();
113
114 return new Promise<T>((resolve, reject) => {
115 try {
116 this.responseListeners[id] = (data, error) => {
117 if (error) {
118 const e = new Error(error.message);
119 e.stack = error.stack ?? e.stack;
120 reject(e);
121 } else {
122 resolve(data);
123 }
124 };
125
126 this.port.postMessage(<Request>{
127 id,
128 name: fnName,
129 args,
130 });
131 } catch (e) {
132 this.logger.error(
133 e as any,
134 `Failed to post message, function="${String(fnName)}", args="${JSON.stringify(args)}"`
135 );
136 // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
137 reject(e);
138 }
139 });
140 }
141}
142
143/* Worker side, used to initialise and interact with main thread */

Callers

nothing calls this directly

Calls 3

resolveFunction · 0.50
getReqIdMethod · 0.45
errorMethod · 0.45

Tested by

no test coverage detected