Q Promise Equivalent of BlueBird Promise.Bind()
Q Promise Equivalent of BlueBird Promise.Bind()
几个问题,Q是否有BlueBird API和本幻灯片JavaScript Promises~Kerrick Long中所示的bind()
方法?它是核心承诺/A+规范的一部分吗?如果没有,是否有polyfill或变通方法?
好吧,Promises/A+规范只指定.then
的工作方式,所以.bind
不是Promises/A+规范的一部分。事实上,Promises/A+指定this
值的行为与普通函数调用类似,并且promise不受绑定-Bluebird通过返回BoundPromise来绕过这一限制,BoundPromises不是常规的promise,并与其他promise库无缝交互。
没有等效的Q功能,一旦ES6着陆,您就可以使用"胖箭头"=>
来灵活地绑定then
链中的作用域:
this.x = 15;
Q().then(() => console.log(this.x)) // always logs 15
一般来说,这是Bluebird在Q上拥有的众多功能之一,由于它改变了.then
的行为,因此没有明显的方法来"填充"它——你必须在Q promise中覆盖.then
,并有效地在整个库上创建一个包装器来实现这一点。
相关文章:
- 使用promise和mongoose对文档进行排序
- 直接在函数声明上使用function.prototype.bind
- 测试Angular Service解决错误回调中的promise
- 节点协同与生成器和Promise并行流量控制
- 根据是否解析了 Promise 从函数返回值
- 将一个方法转换为promise:Nodejs
- 显示&作为&在jsp中使用angularjs而不使用ng-bind-html
- 函数在promise被解析后被调用,但Jasmine未通过测试.为什么?
- js promise没有正确关闭
- Angularjs使用“;这个“;promise内的关键字回调
- AngularJS和promise值在调用本地函数时的效果-未定义
- 在ES6 Promise中,我应该在解决/拒绝之前使用return吗
- 以同步方式获取Javascript Promise的值
- NodeJS和pg promise,捕获PostgreSQL异常
- AngularJS使用http进行promise处理
- Angular promise return"未定义的“;值.NET MVC
- bind() on promise error function - javascript
- 如何正确地将 Function.apply.bind 应用于 Promise 的解析处理程序 then()
- Q Promise Equivalent of BlueBird Promise.Bind()
- 深刻理解:为什么.bind(this)在与new Promise一起使用时似乎不遵循正常的规则?