我正在查看此module的源代码,我想我理解了大部分内容,但我不明白这一点:
this.checkNpm().then(this.callback.bind(this, null)).catch(this.callback);
为什么.catch
也不会调用.bind
?
同样checkNpm()
也会返回一个承诺,并且也绑定到this
。在这种情况下,this
是什么?
答案 0 :(得分:1)
根据我的理解,该模块想要做的是this.checkNpm
触发then
(即成功),然后作者想要将this.callback
函数的范围设置为< strong>执行此行的范围。如果函数触发catch,则范围并不重要,因为它可能会输出一些错误。请记住,bind
函数将返回一个函数,该函数将在第一个参数的上下文中执行原始函数(也可以设置参数的功能,如此处所示,但不包括该点)
希望这是澄清