繁体   English   中英

Node JS包装异步功能

[英]Node js wrap async function

我正在实现一个具有功能的API:

get(url)

它返回一个响应对象,即没有回调。 我发现的Http模块通过回调实现节点样式的异步功能。 我尝试过等待异步函数以多种方式返回,例如使用Fibers等。Fibers解决了Fiber中的问题,但由于需要返回任何Fiber之外的值,因此无法用于我的情况。

可以包装整个执行(包括使用API​​的代码),但我真的不希望这样。 有没有我想要的模块?

如果我理解这个问题,那么您在没有承诺的情况下实际上不可能将异步代码与同步代码混合在一起。 一旦将异步代码与同步代码混合,就会使整个代码异步,或者冒着使同步代码在返回同步代码的结果之前返回值的风险。

您总是可以尝试对使它返回的函数尝试超时,直到给定时间段到期为止,这希望异步代码能够执行并在同步代码返回之前具有返回值。 但是,这效率极低,并且不能消除问题,因为您仍然可能在异步部分完成之前返回。

我也同意robertklep的评论,即node.js确实不适合您的用例,您可能会更好地寻找另一种工具来完成这项工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM