【发布时间】:2013-11-11 23:30:48
【问题描述】:
我正在实现一个具有函数的 API:
get(url)
它返回一个响应对象,即没有回调。我发现的 Http 模块使用回调实现了节点样式的异步函数。我尝试使用 Fibers 等多种方式等待异步函数返回。Fibers 解决了 Fiber 内的问题,但在我的情况下不能使用,因为我需要在任何 Fiber 之外返回值。
也许可以包装整个执行(包括使用 API 的代码),但我真的不想要这个。有没有我想要的模块?
【问题讨论】:
-
您不能使用异步结果作为函数的返回值,而没有繁忙的等待黑客。您的
getAPI 方法必须使用回调参数或返回承诺。 -
我真的不能这样做,因为我正在实现一个 API。现有代码期望此函数是同步的。你能扩展一下“忙等待黑客”吗?
-
如果禁止使用异步工作流,为什么还要使用 Node?span>
标签: javascript node.js asynchronous