Car*_*mer 8 javascript debugging async-await
我正在尝试调试在浏览器上下文中运行的一些(第三方)代码,并且我想跟踪所有下游异步函数调用,这几乎正是async_hooksNodejs 提供的。本质上,类似https://github.com/mafintosh/why-is-node-running但在浏览器中。我会满足于“接近的东西”,或者如果必须的话甚至修补全局变量......
有谁知道有什么距离很近的东西吗?这(/sf/answers/3447180271/)看起来很有希望,但它似乎不适用于我的子调用?!
我应该指出,我在这里的实际用途实际上只是记录异步函数调用的计数,以便在测试结束时,我知道我是否“泄漏”了异步调用。
我还应该指出,这(https://github.com/AndreasMadsen/async-hook/issues/15)似乎表明我在浏览器中可能不走运(尽管我只接受大约正确的结果)结果)。
Dexie.js 实现了一个名为 的东西PSD,它允许跟踪异步上下文 - 即使使用本机承诺。
我在这里将其拖放到自己的包中: https ://github.com/vlcn-io/model/tree/main/ts/packages/zone
您可以在此处查看跟踪异步函数的示例: https: //github.com/vlcn-io/model/blob/bb2907ca5034b345bfedd42af21944e10543b01d/ts/packages/value/src/transaction.ts#L106-L125
请注意,该 API 还不太用户友好,并且正确设置区域跟踪可能会很复杂。
真实世界的测试和使用帮助您入门:https://github.com/vlcn-io/model/tree/main/ts/packages/value