有没有一种方法可以让我们在 Future dart 上手动发出错误或成功?

Is there a way that we can emit error or success manually on Future dart?

SettableFuture/ListenableFuture java 这样我们可以控制向听众发出什么。

我想要的是:

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

  1. send(请求)在某些函数中通过套接字发送消息
  2. 请求也有它的响应,但它是通过 onData(d) 回调来的,其他地方不在这个请求函数中
  3. 我在 send
  4. 之后将未来存储在键值数组中
  5. onData(d) 上的响应之后,我将从数组中获取 future 并使其适当地发出成功或错误

通常您可以使异步函数 return 一个值(成功)或抛出异常(通过 throwasync 函数或手动 returning Future.error).

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

Completer 可以为您简化一些。