我是一个巨大的 promise 链,但是我意识到其中一个函数返回一个具有监听器并对回调使用react的对象,例如
object.on('data', function(err, data) {
//do something
});
object.on('exit', function(err, data) {
//do something
});
我想知道是否有一种方法可以使用 Promise 来实现这一点,并将它们转化为thenables。除了重写整个 Promise 链以使用回调之外,没有其他选择吗?
最佳答案
你不能包裹这个对象吗?
var promiseForObjectData = new Promise(function(resolve, reject) {
// Note that you can't promisify data, because it gets called multiple times.
object.on('data', function(err, data) {
if (err) return reject(err);
//do something
});
object.on('exit', function(err, data) {
if (err) return reject(err);
return resolve(...whatever...);
});
});
关于javascript - 有前途的听众,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34327316/