标签: javascript ajax node.js rest http
我试图通过从节点js调用HTTP GET(REST)来将XML作为字符串。我认为服务器只发送一次响应,但节点多次接收res.on('data')时会以块的形式接收响应。当我连接多个块时,我得到了完整的数据。但这需要很多时间。我希望一次性获取所有数据。请提供您的意见。提前谢谢。
答案 0 :(得分:2)
你不能只是“一次性获取所有数据”,因为这不是TCP的工作方式。因此,如果您期望这样,那么无论您是否明确地执行此操作,都会在某个其他层进行缓冲。
如果您要解析正在下载的XML,那么您可能会考虑使用支持一次解析块的XML解析模块,例如sax。
否则,如果您想要更加用户友好的内容(但需要完整的缓冲XML字符串),您可以考虑将cheerio与xmlMode: true一起使用。
xmlMode: true