开源项目 async-local-storage
使用教程
async-local-storage项目地址:https://gitcode.com/gh_mirrors/as/async-local-storage
1. 项目的目录结构及介绍
async-local-storage/
├── benchmark/
│ └── async_hooks/
│ └── async-local-storage-propagate-promise.js
├── examples/
│ └── basic-usage.js
├── lib/
│ ├── async_hooks.js
│ ├── async_local_storage.js
│ └── index.js
├── test/
│ └── async_local_storage.test.js
├── .gitignore
├── .npmignore
├── LICENSE
├── README.md
├── package.json
└── tsconfig.json
benchmark/
: 包含性能测试文件。examples/
: 包含基本用法的示例代码。lib/
: 包含项目的主要实现文件。test/
: 包含测试文件。.gitignore
: Git 忽略文件配置。.npmignore
: npm 忽略文件配置。LICENSE
: 项目许可证。README.md
: 项目说明文档。package.json
: 项目依赖和脚本配置。tsconfig.json
: TypeScript 配置文件。
2. 项目的启动文件介绍
项目的启动文件位于 examples/basic-usage.js
,这是一个基本的示例文件,展示了如何使用 async-local-storage
。
// examples/basic-usage.js
import { AsyncLocalStorage } from '../lib/index.js';
const asyncLocalStorage = new AsyncLocalStorage();
function logWithId(msg) {
const id = asyncLocalStorage.getStore();
console.log(`${id !== undefined ? id : '-'}:`, msg);
}
let idSeq = 0;
asyncLocalStorage.run(idSeq++, () => {
logWithId('start');
setImmediate(() => {
logWithId('finish');
});
});
3. 项目的配置文件介绍
package.json
: 包含项目的依赖、脚本和其他元数据。
{
"name": "async-local-storage",
"version": "1.0.0",
"description": "An example of using AsyncLocalStorage in Node.js",
"main": "lib/index.js",
"scripts": {
"test": "jest",
"benchmark": "node benchmark/async_hooks/async-local-storage-propagate-promise.js"
},
"dependencies": {
"node": "^16.4.0"
},
"devDependencies": {
"jest": "^27.0.0"
},
"license": "MIT"
}
tsconfig.json
: TypeScript 编译配置文件。
{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"outDir": "./lib",
"strict": true,
"esModuleInterop": true
},
"include": ["src/**/*"]
}
以上是 async-local-storage
项目的基本使用教程,涵盖了项目的目录结构、启动文件和配置文件的介绍。希望这些信息能帮助你更好地理解和使用该项目。
async-local-storage项目地址:https://gitcode.com/gh_mirrors/as/async-local-storage