假设我有12个async/await函数,并且在12日深处,会发生错误.现在,我有这个代码来捕获所有错误:
process.on('unhandledRejection', function {
console.error(err);
process.exit(1);
});
Run Code Online (Sandbox Code Playgroud)
问题是,不返回stacktrace:
ReferenceError: sdfg is not defined
- get.js:29 Fruit.module.exports [as get]
/project/models/fruit/get.js:29:2
- next_tick.js:129 process._tickDomainCallback
internal/process/next_tick.js:129:7
Run Code Online (Sandbox Code Playgroud)
在其他项目中,当我使用具有以下结构的回调时:
function doSomething(err, done) {
if (err) { return done(err); }
/* do something */
return done(null, true);
}
Run Code Online (Sandbox Code Playgroud)
然后我有一个很好的堆栈跟踪错误发生的位置和导致那里的步骤.现在,async/await我已尝试在各种级别捕获错误而没有结果.我也试着longjohn和stackup-我仍然只得到抛出错误的最后一个函数.
帮助 - 如何查看完整的堆栈?!什么是捕获嵌套异步/等待错误的正确方法?
编辑:(一个完整的例子)
const getA = async () => {
await getB();
}
const getB = async () => {
await getC();
sdgf();
}
const getC = …Run Code Online (Sandbox Code Playgroud) 有一个示例说明如何使点可拖动(具有图层),还有一个示例说明如何使用自定义图像设置标记,但是当它没有时,我如何使该自定义图像可在地图上拖动与之相关的层?!
如果我的行具有varchar以下值:“ [1,2,3]”,如果我需要该值包含数字之一(2 或 3),我该如何选择整行?
如果我有一个调用了JSON列的MySQL表,numbers并且[1, 2, 3]该列中有一个记录(整数数组),那么如何更新该记录以删除2(所以它变成了[1, 3])?
mysql ×2
javascript ×1
mapbox ×1
mapbox-gl ×1
mapbox-gl-js ×1
mysql-5.6 ×1
mysql-5.7 ×1
node.js ×1