mirror of
https://github.com/denoland/deno.git
synced 2024-12-23 15:49:44 -05:00
fix(ext/node): add stub for AsyncResource#asyncId() (#23372)
Ref https://github.com/denoland/deno/issues/23263
This commit is contained in:
parent
1835b4f061
commit
f36a8951a4
2 changed files with 13 additions and 0 deletions
|
@ -10,6 +10,7 @@
|
|||
import { core } from "ext:core/mod.js";
|
||||
import { op_node_is_promise_rejected } from "ext:core/ops";
|
||||
import { validateFunction } from "ext:deno_node/internal/validators.mjs";
|
||||
import { newAsyncId } from "ext:deno_node/internal/async_hooks.ts";
|
||||
|
||||
function assert(cond: boolean) {
|
||||
if (!cond) throw new Error("Assertion failed");
|
||||
|
@ -180,9 +181,16 @@ class AsyncContextFrame {
|
|||
export class AsyncResource {
|
||||
frame: AsyncContextFrame;
|
||||
type: string;
|
||||
#asyncId: number;
|
||||
|
||||
constructor(type: string) {
|
||||
this.type = type;
|
||||
this.frame = AsyncContextFrame.current();
|
||||
this.#asyncId = newAsyncId();
|
||||
}
|
||||
|
||||
asyncId() {
|
||||
return this.#asyncId;
|
||||
}
|
||||
|
||||
runInAsyncScope(
|
||||
|
|
|
@ -125,3 +125,8 @@ Deno.test(async function bind() {
|
|||
|
||||
assertEquals(await deferred.promise, null);
|
||||
});
|
||||
|
||||
Deno.test(function asyncResourceStub() {
|
||||
const resource = new AsyncResource("dbquery");
|
||||
assert(typeof resource.asyncId() === "number");
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue