【问题标题】:Promises vs Reactive vs? [closed]Promise vs Reactive vs? [关闭]
【发布时间】:2014-08-13 21:08:27
【问题描述】:

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

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

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

【问题讨论】:

  • 您可以将承诺存储在一个变量中,并在稍后添加.then 回调 - 这能解决您的问题吗?
  • 我一直不明白为什么有人在这里提出问题,得到评论或要求澄清的答案,并且 OP 消失了。他们不在身边。没有意义。在您发布后的前 20-30 分钟内(当您的问题是最新的时),您在问题上的曝光机会最大化。如果不清楚并且人们要求澄清并且您没有回应,那么您完全是在浪费您的问题,这就是发生的事情 - 它会因其他原因被搁置或关闭。
  • @jfriend00:(新)人们只是没想到会这样。在论坛、新闻组等中,您可以简单地查看前几天的回复,然后进行澄清。 SO太快了:-)
  • @Bergi - 是的,所以不同。这就是为什么我们需要教育新人,他们关注问题的最佳机会是在发布后的前 30 分钟内,如果他们的问题在那段时间不清楚,他们最多只会错过大多数可能/会有所帮助,或者在最坏的情况下,他们的问题将像这个问题一样被关闭或搁置。因此,为什么我添加了此评论(我希望 OP 阅读并对此有所了解)。就我个人而言,我不会查看任何较老的问题,除非它们上有某种我碰巧正在查看的独特标签。
  • @jfriend00 发个元帖,你可以指望我的投票

标签: javascript promise rxjs


【解决方案1】:

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

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

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


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

【讨论】:

  • 你提到的最后一点正是我所需要的。我以为我已经测试过这种行为,但似乎我在某些时候失败了。再次为不必要的问题感到抱歉!
猜你喜欢
  • 2019-09-16
  • 2015-08-27
  • 1970-01-01
  • 2022-01-23
  • 2023-04-09
  • 2011-07-08
  • 2017-06-20
  • 2012-08-07
相关资源
最近更新 更多