mirror of
https://github.com/denoland/deno.git
synced 2025-09-30 14:11:14 +00:00
refactor: migrate async ops to generated wrappers (#18937)
Migrates some of existing async ops to generated wrappers introduced in https://github.com/denoland/deno/pull/18887. As a result "core.opAsync2" was removed. I will follow up with more PRs that migrate all the async ops to generated wrappers.
This commit is contained in:
parent
6728ad4203
commit
dcf391ffed
10 changed files with 109 additions and 99 deletions
|
@ -564,31 +564,6 @@ for (let i = 0; i < 10; i++) {
|
|||
return (ops[opName] = fn);
|
||||
}
|
||||
|
||||
function opAsync2(name, arg0, arg1) {
|
||||
const id = nextPromiseId++;
|
||||
try {
|
||||
const maybeResult = asyncOps[name](id, arg0, arg1);
|
||||
if (maybeResult !== undefined) {
|
||||
movePromise(id);
|
||||
return unwrapOpResultNewPromise(id, maybeResult, opAsync2);
|
||||
}
|
||||
} catch (err) {
|
||||
movePromise(id);
|
||||
if (!ReflectHas(asyncOps, name)) {
|
||||
return PromiseReject(new TypeError(`${name} is not a registered op`));
|
||||
}
|
||||
ErrorCaptureStackTrace(err, opAsync2);
|
||||
return PromiseReject(err);
|
||||
}
|
||||
let promise = PromisePrototypeThen(
|
||||
setPromise(id),
|
||||
unwrapOpError(eventLoopTick),
|
||||
);
|
||||
promise = handleOpCallTracing(name, id, promise);
|
||||
promise[promiseIdSymbol] = id;
|
||||
return promise;
|
||||
}
|
||||
|
||||
function opAsync(name, ...args) {
|
||||
const id = nextPromiseId++;
|
||||
try {
|
||||
|
@ -823,7 +798,6 @@ for (let i = 0; i < 10; i++) {
|
|||
asyncStub,
|
||||
generateAsyncOpHandler,
|
||||
opAsync,
|
||||
opAsync2,
|
||||
resources,
|
||||
metrics,
|
||||
registerErrorBuilder,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue