有没有办法让我们在 Future 飞镖上手动发出错误或成功?



类似于SettableFuture/ListenableFuture java,我们可以控制向侦听器发出什么。

我想要的是:

例如,我有一个激活的套接字连接。

  1. 我通过某个函数中的套接字send(请求)一条消息
  2. 该请求也有其响应,但它通过回调onData(d)在此请求功能中没有的其他位置
  3. 我将未来存储在send后的键值数组中
  4. onData(d)响应后,我将从数组中获取未来并使其适当地发出成功或错误

通常,您可以使异步函数返回值(成功)或抛出异常(通过从async函数throwing或手动返回Future.error)。

如果你有一些你无法控制的现有Future,你不能强迫它成功或失败。 相反,您可以让呼叫者等待您控制的Future,并且可以使您的Future依赖于外部。

Completer可以为您简化其中的一些。

相关内容

最新更新