返回承诺时 callback.bind() 的作用是什么?

What purpose does callback.bind() serve when returning a promise?

我在看这个module的源代码,我想我明白了大部分但我不明白这个:

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

为什么 .catch 也没有调用 .bind

也是 checkNpm() returns 一个承诺,也绑定到 this。在这种情况下,this 是什么?

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

希望这能说明问题