跟踪/记录承诺

时间:2018-10-30 19:35:04

标签: javascript node.js express mocha

我正在尝试找到一种跟踪承诺的解决方案。

我正在处理的项目有一些悬而未决的异步任务,这些任务尚未等待/产生。我试图找到这种情况,因为这些悬而未决的呼叫正在干扰测试套件。

我的方法之一是利用SinonJS间谍监视全球Promise构造函数。但是在包装构造函数时,Promise对象的属性会被间谍隐藏/覆盖,从而使Promises无法使用。

const spier = sinon.spy(global, 'Promise')

也许我可以利用一些全局跟踪(例如事件循环或实时承诺的常见数组)。

或者也许有人对Promises有更深入的了解,并可以在可访问的内部Promise函数上推荐替代间谍点。

想听听您是否有类似的需求和方法。

1 个答案:

答案 0 :(得分:1)

您可以像这样对promise构造函数进行猴子修补:

a = (`${this.name} is friends with ${el}`;)

来源:Monkey-patch Promise constructor