callback.bind()在返回promise时有什么用途?

时间:2016-04-24 00:41:44

标签: javascript

我正在查看此module的源代码,我想我理解了大部分内容,但我不明白这一点:

this.checkNpm().then(this.callback.bind(this, null)).catch(this.callback);

为什么.catch也不会调用.bind

同样checkNpm()也会返回一个承诺,并且也绑定到this。在这种情况下,this是什么?

1 个答案:

答案 0 :(得分:1)

根据我的理解,该模块想要做的是this.checkNpm触发then(即成功),然后作者想要将this.callback函数的范围设置为< strong>执行此行的范围。如果函数触发catch,则范围并不重要,因为它可能会输出一些错误。请记住,bind函数将返回一个函数,该函数将在第一个参数的上下文中执行原始函数(也可以设置参数的功能,如此处所示,但不包括该点)

希望这是澄清