我正在尝试找到一种跟踪承诺的解决方案。
我正在处理的项目有一些悬而未决的异步任务,这些任务尚未等待/产生。我试图找到这种情况,因为这些悬而未决的呼叫正在干扰测试套件。
我的方法之一是利用SinonJS间谍监视全球Promise构造函数。但是在包装构造函数时,Promise对象的属性会被间谍隐藏/覆盖,从而使Promises无法使用。
const spier = sinon.spy(global, 'Promise')
也许我可以利用一些全局跟踪(例如事件循环或实时承诺的常见数组)。
或者也许有人对Promises有更深入的了解,并可以在可访问的内部Promise函数上推荐替代间谍点。
想听听您是否有类似的需求和方法。
答案 0 :(得分:1)
您可以像这样对promise构造函数进行猴子修补:
a = (`${this.name} is friends with ${el}`;)