【发布时间】:2017-06-03 03:58:26
【问题描述】:
我有一个有两种方法的对象。
foo.publicMethod() 将在内部调用 foo.privateMethod()。
例如:
foo.prototype.publicMethod = function() {
return this.privateMethod()
.then(/* Do some other stuff */);
};
为了单独测试公共方法,我对私有方法进行了存根,使其返回一个空的承诺。 出于某种原因,如果我分配
foo.privateMethod = () => Promise.resolve();
一切都很好,但是做
foo.privateMethod = Promise.resolve;
产生错误消息:TypeError: object is not a constructor
我看不出这两行代码会如何产生不同的结果。是的,一个在技术上包装Promise.resolve 一次,但我不明白这应该如何影响最终结果。任何想法可能有什么区别?
【问题讨论】:
-
产生错误信息 — 什么时候?在哪里?该行本身并不是错误。
标签: javascript ecmascript-6 promise