javascript - 有前途的听众

标签 javascript node.js promise listeners

我是一个巨大的 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/

相关文章:

javascript - 上传应用程序,检查特定字段/值 - 如何动态添加/删除要求并更改代码中文件的所需格式?

javascript - 如何从外部作用域将变量传递给 .then() 回调函数?

php - 预期对象 - IE7 和 8

javascript - 如何制作一个与整个屏幕宽度相同的div?

javascript - Redux 表单 `event.target.value` 的 `onChange` 处理程序中的复选框的 `Field` 不正确

javascript - PointLight 不会照亮任何东西

node.js - 通过node.js渲染缩略图

node.js - 如何禁用 socket.io 上的五个连接限制?

javascript - 使用 BlueBird + React Native 过滤未定义的 promise

javascript - 延迟批量 GET 请求到服务器,JavaScript