0

跟进#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 从命令行运行此代码时,似乎可以正常工作。

4

1 回答 1

0

那么实际上首先要做

npm list

并检查您是否已request安装...否则安装使用

npm install request

然后你的代码中有一个简单的错误。你在 console.log 之后缺少一个分号

console.log(body);
于 2013-10-23T03:43:35.100 回答