method AsyncLocalStorage.snapshot
          
Unstable
Usage in Deno
```typescript import { AsyncLocalStorage } from "node:node__async_hooks.d.ts"; ```
AsyncLocalStorage.snapshot(): <R,TArgs extends any[],>(fn: (...args: TArgs) => R,...args: TArgs,) => R 
      Captures the current execution context and returns a function that accepts a
function as an argument. Whenever the returned function is called, it
calls the function passed to it within the captured context.
```js
const asyncLocalStorage = new AsyncLocalStorage();
const runInAsyncScope = asyncLocalStorage.run(123, () => AsyncLocalStorage.snapshot());
const result = asyncLocalStorage.run(321, () => runInAsyncScope(() => asyncLocalStorage.getStore()));
console.log(result);  // returns 123
```
AsyncLocalStorage.snapshot() can replace the use of AsyncResource for simple
async context tracking purposes, for example:
```js
class Foo {
  #runInAsyncScope = AsyncLocalStorage.snapshot();
  get() { return this.#runInAsyncScope(() => asyncLocalStorage.getStore()); }
}
const foo = asyncLocalStorage.run(123, () => new Foo());
console.log(asyncLocalStorage.run(321, () => foo.get())); // returns 123
```
  
  
    
 
<R,TArgs extends any[],>(fn: (...args: TArgs) => R,...args: TArgs,) => R
      
    A new function with the signature `(fn: (...args) : R, ...args) : R`.