我经常使用promisify
方法,它将带有回调签名(例如fucntion fn(cb) { ... }
)的方法转换为返回Promise
. 它可以使源代码更简洁、更紧凑。到目前为止,一切都很好。
稍有不同的是,具有回调方法的方法,但回调被多次调用。在这种情况下, aPromise
无法做到这一点,因为 Promise 只能执行一次。
理论上,这些方法可以返回一个Subject
. (例如 a BehaviorSubject
)然后会被触发多次。
这让我想知道:
是否有某种subjectify
方法可以为我做到这一点?
例如:当有一种方法可以解析大文档时,它可能很有用。要报告其进度,它可以使用回调方法。但是将其包装在 a 中Subject
可能更方便。