如何从node.js中的HTTP请求中获得同步结果
How to get a synchronuous result from an HTTP request in node.js
我正在编写一个节点模块,作为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
相关文章:
- 奇怪的Javascript结果
- Javascript(jQuery)给了我奇怪的结果
- 在控制器和数据对象之间同步数据
- JSONP请求返回结果,但也触发error_callback
- 同步调用,直到用户通过angular验证为访问者
- javascript函数同步
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- Javascript,输出结果后页面不断刷新
- 这是使用html快照和谷歌获取的预期结果吗?SEO/SPA
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- 将地理编码结果转换为php变量以发布到mysql数据库
- 如何从node.js中的HTTP请求中获得同步结果
- 如何在ReactJS中同时调用多个ajax(并同步获得结果)
- 做下划线.js函数,如_.findWhere(),同步返回结果
- 使AJAX“get”函数同步/如何获得结果
- 为什么同步使用承诺会返回异步结果
- 不能输入async(同步)函数的回调/空结果
- 角度地理编码结果不同步
- 如何调用angular's函数同步返回角度之外的函数结果
- 在点击时增加/减少增量计数器的同步结果