Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

npm version Build Status Coverage Status Dependency Status Known Vulnerabilities

node-async-context (asyncctx)

This module allows you to create an asynchronous execution context for JavaScript or TypeScript

NOTE: This module is based on async_hooks an experimental built-in node.js module introduced in v8.0.0

NOTE: Your contribution is highly welcome!

Introduction

To give you an idea of how asyncctx is supposed to be used:

import { ContinuationLocalStorage } from 'asyncctx';

class MyLocalStorage {
  value: number;
}

let cls = new ContinuationLocalStorage<MyLocalStorage>();
cls.setRootContext({ value: 1});

process.nextTick(() => {
  let curr1 = cls.getContext(); // value is 1
  cls.setContext({ value: 2});  // value should be 2 in the current execution context and below
  process.nextTick(() => {
    let curr2 = cls.getContext(); // value is 2
    cls.setContext({ value: 3});  // value should be 3 in the current execution context and below
    process.nextTick(() => {
      let curr3 = cls.getContext(); // value is 3
    });
  });
  process.nextTick(() => {
    let curr4 = cls.getContext(); // value is 2
  });
});

License

node-async-context (asyncctx) is licensed under the MIT License: LICENSE

Release Notes

Release Notes
2.0.12-14 maintenance release, nodejs 14 support
2.0.11 #54: fixed memory leak for chaining asynchronous calls infinitely; thanks to Reko Tiira
2.0.10 maintenance release
2.0.9 node 13 supported
2.0.3-8 maintenance release
2.0.2 #47: fixed loosing context for unknown resource types; thanks to Pasi Tuominen
2.0.1 maintenance release
2.0.0 targeting es2015; dropped support for nodejs < v8
please use asyncctx@<2.0 for nodejs v4 - v11 support
1.1.0 fixed support for nodes < v8
1.0.5-10 maintenance release
1.0.4 node 10 supported
1.0.3 node 9 supported
1.0.2 maintenance release
1.0.1 added support for older nodejs versions (4,6,7) using internal copy of async-hook@1.7.1
1.0.0 is now based on 'async_hooks' (a built-in nodejs v8.0 module)
0.0.6 maintenance releases
0.0.5 async-hook 1.7.1
0.0.1-4 initial version

About

a continuation local storage / asynchronous execution context for node.js via async_hooks

Topics

Resources

License

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.