2

所以我知道 Promises 和函数响应式编程。

我想要做的是调用一个异步函数并 .then(callback) 做一些事情,但我不想立即定义回调。它让我想起了 RxJS Observable,只是没有所有花哨的功能..

也许有人知道我在找什么。

4

1 回答 1

3

您可以定义处理程序,该.then()处理程序将查看一个变量,您可以在.then()处理程序实际触发之前随时填写该变量。

var pcallback;
mypromise.then(function() {
    if (pcallback) {
        return pcallback.apply(this, arguments);
    }
});

然后,在.then()处理程序触发之前的任何时间,您都可以填写pcallback变量。


或者,您可以保存对 Promise 的引用,然后.then()随时添加处理程序。如果在 promise 解决后添加它,那么添加.then()处理程序将立即调用它(与上面的代码示例略有不同的行为)。

于 2014-08-13T21:23:23.357 回答