我使用了Kris Kowal的Q,但是现在我试图减少图书馆的数量,所以我转换到原生的Promises(但是,是的,我使用的是polyfill支持Internet Explorer)。
我的大多数函数都返回promises,但有一个地方我想将Q.all公开为由我自己的代码提供。当我这样做时:
MyLibrary.prototype.all = Promise.all;
...,并使用它(myLibrary.all([...]).then(...)
),我得到了#34;非构造函数值传递给NewPromiseCapability。"这是什么意思?
答案 0 :(得分:0)
MyLibrary从未正确地从Promise继承,因此上下文("此")丢失了。
要修复,而不是myLibrary.all([...])
,我只使用Promise.all([...])。
我想另一种选择可能是通过MyLibrary.prototype.all = Promise.all.bind(Promise)