温馨提示:本站仅提供公开网络链接索引服务,不存储、不篡改任何第三方内容,所有内容版权归原作者所有
AI智能索引来源:http://www.bun.com/reference/node/events/default/EventEmitterReferencingAsyncResource
点击访问原文链接

interface EventEmitterReferencingAsyncResource | Node.js events module | Bun

interface EventEmitterReferencingAsyncResource | Node.js events module | BunBuildDocsReferenceGuidesBlogDiscord/node:events/default/EventEmitterReferencingAsyncResourceMasyncIdMbindMemitDestroyPeventEmitterMrunInAsyncScopeMtriggerAsyncId

Search the reference...

/

BuildDocsReferenceGuidesBlogDiscord/node:events/default/EventEmitterReferencingAsyncResourceMasyncIdMbindMemitDestroyPeventEmitterMrunInAsyncScopeMtriggerAsyncId

interface

events.default.EventEmitterReferencingAsyncResourceinterface EventEmitterReferencingAsyncResource

The class AsyncResource is designed to be extended by the embedder's async resources. Using this, users can easily trigger the lifetime events of their own resources.

The init hook will trigger when an AsyncResource is instantiated.

The following is an overview of the AsyncResource API.

import { AsyncResource, executionAsyncId } from 'node:async_hooks';

// AsyncResource() is meant to be extended. Instantiating a
// new AsyncResource() also triggers init. If triggerAsyncId is omitted then
// async_hook.executionAsyncId() is used.
const asyncResource = new AsyncResource(
type, { triggerAsyncId: executionAsyncId(), requireManualDestroy: false },
);

// Run a function in the execution context of the resource. This will
// * establish the context of the resource
// * trigger the AsyncHooks before callbacks
// * call the provided function `fn` with the supplied arguments
// * trigger the AsyncHooks after callbacks
// * restore the original execution context
asyncResource.runInAsyncScope(fn, thisArg, ...args);

// Call AsyncHooks destroy callbacks.
asyncResource.emitDestroy();

// Return the unique ID assigned to the AsyncResource instance.
asyncResource.asyncId();

// Return the trigger ID for the AsyncResource instance.
asyncResource.triggerAsyncId();
readonly eventEmitter: EventEmitterAsyncResourceasyncId(): number;
@returns

The unique asyncId assigned to the resource.

bindFunc extends (...args: any[]) => any>(fn: Func): Func;

Binds the given function to execute to this AsyncResource's scope.

@param fn

The function to bind to the current AsyncResource.

emitDestroy(): this;

Call all destroy hooks. This should only ever be called once. An error will be thrown if it is called more than once. This must be manually called. If the resource is left to be collected by the GC then the destroy hooks will never be called.

@returns

A reference to asyncResource.

runInAsyncScopeThis, Result>(fn: (this: This, ...args: any[]) => Result,thisArg?: This,...args: any[]): Result;

Call the provided function with the provided arguments in the execution context of the async resource. This will establish the context, trigger the AsyncHooks before callbacks, call the function, trigger the AsyncHooks after callbacks, and then restore the original execution context.

@param fn

The function to call in the execution context of this async resource.

@param thisArg

The receiver to be used for the function call.

@param args

Optional arguments to pass to the function.

triggerAsyncId(): number;
@returns

The same triggerAsyncId that is passed to the AsyncResource constructor.

Resources

ReferenceDocsGuidesDiscordMerch StoreGitHubBlog 

Toolkit

RuntimePackage managerTest runnerBundlerPackage runner

Project

Bun 1.0Bun 1.1Bun 1.2Bun 1.3RoadmapContributingLicense

Baked with ❤️ in San Francisco

We're hiring →

interface EventEmitterReferencingAsyncResource | Node.js events module | Bun,AI智能索引,全网链接索引,智能导航,网页索引

    The class `AsyncResource` is designed to be extended by the embedder