How to use where clause in Knex
Create refunds with Stripe
Load HTML with Cheerio
How to send POST request with Axios
Find intersection of array in Lodash
Powered by Official white Bloop logo with a period

Terms / Privacy / Search / Support

  • import { AsyncResource, executionAsyncId } from '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();
    Docs
  • const { AsyncResource, executionAsyncId } = require('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();
    Docs
  • const { createServer } = require('http');
    const {
      executionAsyncId,
      executionAsyncResource,
      createHook
    } = require('async_hooks');
    const sym = Symbol('state'); // Private symbol to avoid pollution
    
    createHook({
      init(asyncId, type, triggerAsyncId, resource) {
        const cr = executionAsyncResource();
        if (cr) {
          resource[sym] = cr[sym];
        }
      }
    }).enable();
    
    const server = createServer((req, res) => {
      executionAsyncResource()[sym] = { state: req.url };
      setTimeout(function() {
        res.end(JSON.stringify(executionAsyncResource()[sym]));
      }, 100);
    }).listen(3000);
    Docs
  • import { createServer } from 'http';
    import {
      executionAsyncId,
      executionAsyncResource,
      createHook
    } from 'async_hooks';
    const sym = Symbol('state'); // Private symbol to avoid pollution
    
    createHook({
      init(asyncId, type, triggerAsyncId, resource) {
        const cr = executionAsyncResource();
        if (cr) {
          resource[sym] = cr[sym];
        }
      }
    }).enable();
    
    const server = createServer((req, res) => {
      executionAsyncResource()[sym] = { state: req.url };
      setTimeout(function() {
        res.end(JSON.stringify(executionAsyncResource()[sym]));
      }, 100);
    }).listen(3000);
    Docs
  • const { createServer } = require('http');
    const { AsyncResource, executionAsyncId } = require('async_hooks');
    
    const server = createServer((req, res) => {
      req.on('close', AsyncResource.bind(() => {
        // Execution context is bound to the current outer scope.
      }));
      req.on('close', () => {
        // Execution context is bound to the scope that caused 'close' to emit.
      });
      res.end();
    }).listen(3000);
    Docs
  • Powered by Official black Bloop logo with a period
    download the IDE extension

    View other examples