如何从node.js中的HTTP请求中获得同步结果

How to get a synchronuous result from an HTTP request in node.js

本文关键字:同步 结果 请求 HTTP node js 中的      更新时间:2024-04-30

我正在编写一个节点模块,作为Python模块的包装器(以便从node.js中获得该模块)。该模块可以作为独立脚本或HTTP服务器工作。

当从该脚本/服务器获取数据时,我的函数需要返回值,而不能在回调函数中执行操作。至少我是这么理解的。
(一个可能的客户端是gitbook插件,当遇到"块"时,它必须调用插件->我的客户端模块,并将其返回值插入生成的HTML文档中。)

因此,要么是因为我对Node.js(来自Python)太陌生,要么是我需要一种使HTTP请求同步的方法。

有了独立的脚本,我可以使用ChildProcess.spawnSync轻松完成,但不能在HTTP请求中完成。

好吧,我知道人们总是建议在Node中异步地做事,所以我也很乐意看到如何以这种方式实现我的目标的指针。如上所述,我希望模块的客户端向我传递一些数据,传递这些数据以调用脚本或在服务器上执行POST请求,并将处理后的数据返回给客户端。

您可以使用web工作者实现同步HTTP请求
以下是有关此主题的更多信息:
https://developer.mozilla.org/zh-TW/docs/Web/API/XMLHttpRequest/Synchronous_and_Asynchronous_Requests#Example_Synchronous_HTTP_request_from_a_Worker


编辑:

您可以从Node.Js发出同步请求。以下模块应该会有所帮助:https://www.npmjs.com/package/sync-request