跟进#2:我认为这是 99% 的“我的错”,因为没有正确使用 node.js 的回调(调用回调的回调......)。当我正确重构它时,一切似乎都可以正常工作,即使在 IntelliJ 中也是如此。我什至想出了一种安排回调函数的方法,这对 java 程序员来说似乎有点理智。不知道为什么它在命令行上工作,但可能与 node.js 如何处理线程/异步的东西有关。
不确定我是否应该删除整个问题。
原始问题如下:
我是一位资深的 Java 程序员,在 Javascript、node.js 或 request 方面的经验几乎为零。我想做一个基本的 HTTP GET(最后是一个 POST)。Mikeal 的请求框架(https://github.com/mikeal/request)看起来很合理。但我不知道如何将响应放入变量中,以便对其进行解析。他的例子都有它进入控制台。
我的代码是
var Request = require('request');
var ggg;
Request.get('http://www.google.com', function (error, response, body) {
console.log(body) // Print the google web page.
ggg = body;
});
我在 IntelliJ Webstorm7 调试器中运行它。我在回调中设置了一个断点(在 ggg = body 行),它永远不会被触发。而且,为了记录,控制台也没有记录任何东西。在此代码之后的断点处,ggg 被列为“未定义”。
不确定这是否是我的误解,IntelliJ 中的怪异,或者请求库不起作用。
跟进:我认为我的intellij中的某些东西搞砸了。当我通过节点 nameofile.js 从命令行运行此代码时,似乎可以正常工作。