【发布时间】:2016-04-22 08:21:16
【问题描述】:
我正在设计一个具有阻塞功能的 SDK(在 Golang 中),它应该异步运行并通过回调返回结果。
我一直在使用 Gorilla Toolkit RPC library,这很棒,但我没有看到返回异步调用值的方法。
也许我遗漏了一些东西并且 RPC 模型不支持异步调用,我的意思是所有调用都是阻塞的,即使是很长时间。如果是这种情况,我假设没有 HTTP 超时?
如何实现异步 RPC 调用,并通过回调返回返回值。
澄清:我不能使用典型的 Go Channel 方法进行回调,因为我将通过 HTTP 从另一种语言调用 RPC。所以我的问题是,有没有办法在进行 RPC 时通过 HTTP 实现回调,或者调用是否应该阻塞,即使很长一段时间,直到一个值准备好返回?
【问题讨论】: