类似于SettableFuture/ListenableFuture java,我们可以控制向侦听器发出什么。
我想要的是:
例如,我有一个激活的套接字连接。
- 我通过某个函数中的套接字
send
(请求)一条消息 - 该请求也有其响应,但它通过回调
onData(d)
在此请求功能中没有的其他位置 - 我将未来存储在
send
后的键值数组中 - 在
onData(d)
响应后,我将从数组中获取未来并使其适当地发出成功或错误
通常,您可以使异步函数返回值(成功)或抛出异常(通过从async
函数throw
ing或手动返回Future.error
)。
如果你有一些你无法控制的现有Future
,你不能强迫它成功或失败。 相反,您可以让呼叫者等待您控制的Future
,并且可以使您的Future
依赖于外部。
Completer
可以为您简化其中的一些。