返回承诺时 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 一个将在第一个参数的上下文中执行原始函数的函数(也可以设置参数,如此处所示,但这不是重点)
希望这能说明问题
我在看这个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 一个将在第一个参数的上下文中执行原始函数的函数(也可以设置参数,如此处所示,但这不是重点)
希望这能说明问题