使用控制台.log作为承诺回调
using console.log as a promise callback
我觉得有点奇怪,解决这样的承诺
.then(console.log, console.log)
不起作用,但这有效
.then(d => {
console.log(d);
}, err => {
console.log(err);
});
我错过了什么
console.log()
函数需要 console
对象作为 this
的值,否则它将无法/无法工作。您可以使用第二位代码来实现这一点,因为您像通常一样调用console.log()
。但是,在第一个代码中,您将对函数的引用从对象本身"剥离"出来,因此当 promise 机制进行函数调用时,它无法知道它应该安排this
成为console
对象。
你也可以做
.then(console.log.bind(console), console.log.bind(console))
虽然这很丑陋:)
相关文章:
- 承诺在非节点式回调上使用Bluebird
- 角承诺的“then”函数的成功回调的词汇范围是什么?
- JQuery 承诺已经包含回调的函数
- JavaScript - 返回承诺和/或调用回调
- 承诺中的成功回调不会发生$http
- 如何重构“;回调金字塔”;转换为基于承诺的版本
- 承诺在Protractor中进行回调排序
- Javascript承诺动态回调
- 编写一个使用传递两个参数的回调的承诺
- Phantom.js-如何使用承诺而不是回调
- 在第一次错误回调时退出承诺链
- 如何获取 Ember 组件对象内部承诺成功或错误回调
- 创建承诺回调
- 回调/承诺无法正常工作
- 承诺回调的触发顺序是什么
- 承诺回调返回承诺
- 使用控制台.log作为承诺回调
- 是发送到事件队列的承诺回调
- 非异步承诺回调
- 在javascript中使用承诺/回调来等待函数完成