什么"非构造函数值传递给NewPromiseCapability"是什么意思?

时间:2016-05-06 16:39:07

标签: javascript promise q es6-promise

我使用了Kris Kowal的Q,但是现在我试图减少图书馆的数量,所以我转换到原生的Promises(但是,是的,我使用的是polyfill支持Internet Explorer)。

我的大多数函数都返回promises,但有一个地方我想将Q.all公开为由我自己的代码提供。当我这样做时:

MyLibrary.prototype.all = Promise.all;

...,并使用它(myLibrary.all([...]).then(...)),我得到了#34;非构造函数值传递给NewPromiseCapability。"这是什么意思?

1 个答案:

答案 0 :(得分:0)

MyLibrary从未正确地从Promise继承,因此上下文("此")丢失了。

要修复,而不是myLibrary.all([...]),我只使用Promise.all([...])。

我想另一种选择可能是通过MyLibrary.prototype.all = Promise.all.bind(Promise)

将.all()绑定到Promise