Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const async = require('async');
- const cls = require('continuation-local-storage');
- const ns = cls.createNamespace('cls-spike');
- // function 1 which pulls context from cls
- const fn1 = (cb) => {
- const ns = cls.getNamespace('cls-spike');
- const name = ns.get('name');
- console.log('name: ', name);
- cb(null, name);
- };
- // function 2 which pulls context from cls
- const fn2 = (name,cb) => {
- const ns = cls.getNamespace('cls-spike');
- const lastName = ns.get('lastName');
- console.log('lastname: ', lastName);
- cb(null, `${name} ${lastName}`);
- };
- // Trigger async waterfall callbacks
- const asyncFn = () => {
- async.waterfall([
- fn1,
- fn2
- ], (err, results) => {
- console.log( results);
- });
- }
- // Run flow in context
- ns.run(() => {
- ns.set('name', 'foo');
- ns.set('lastName', 'bar');
- asyncFn();
- });
- // Expected output (^v2.0.0):
- // name: foo
- // lastname: bar
- // foo bar
- // Actual output (^v1.0.0):
- // name: foo
- // lastname: undefined
- // foo undefined
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement