ube*_*kel 4 javascript asynchronous node.js typescript
我希望我可以在 TypeScript 中获得堆栈跟踪。我似乎只看到最底层的函数名称。我在 Windows 10 (1803) 上使用 Node.js v12.4.0。
这是代码:
async function thrower() {
throw new Error("test");
}
async function level1() {
return await thrower();
}
async function level2() {
return await level1();
}
async function level3() {
return await level2();
}
async function main() {
try {
await level3();
} catch(err) {
console.warn("main error", err);
}
}
console.log("node version", process.version);
main().then(() => {
console.log("all done " + __filename);
}).catch((err) => {
console.error("Something went wrong in here :(", __filename, err);
})
Run Code Online (Sandbox Code Playgroud)
得到的堆栈跟踪没有提及level1或level2或level3:
async function thrower() {
throw new Error("test");
}
async function level1() {
return await thrower();
}
async function level2() {
return await level1();
}
async function level3() {
return await level2();
}
async function main() {
try {
await level3();
} catch(err) {
console.warn("main error", err);
}
}
console.log("node version", process.version);
main().then(() => {
console.log("all done " + __filename);
}).catch((err) => {
console.error("Something went wrong in here :(", __filename, err);
})
Run Code Online (Sandbox Code Playgroud)
经过一些研究并注意到__awaiter,我决定检查什么是 TypeScript 目标。那是我的问题。
这是我的坏处tsconfig.json:
{
"compilerOptions": {
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"downlevelIteration": true,
},
"include": [
"server/**/*", "tests"
],
"exclude": [
"node_modules",
"**/*.spec.ts"
]
}
Run Code Online (Sandbox Code Playgroud)
这"target": "es2018"修复了它:
{
"compilerOptions": {
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"downlevelIteration": true,
"target": "es2018"
},
"include": [
"server/**/*", "tests"
],
"exclude": [
"node_modules",
"**/*.spec.ts"
]
}
Run Code Online (Sandbox Code Playgroud)
导致此堆栈跟踪:
{
"compilerOptions": {
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"downlevelIteration": true,
},
"include": [
"server/**/*", "tests"
],
"exclude": [
"node_modules",
"**/*.spec.ts"
]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1303 次 |
| 最近记录: |