NodeJS请求如何保存Body

时间:2018-05-18 08:53:51

标签: node.js request

所以我遇到了Request和NodeJS的问题,很简单,但我不是专家。

代码:

library(ggplot2)
iris %>%
  mutate(id = seq_len(nrow(iris))) %>%
  gather(key = Trait, value = Value, Sepal.Length:Petal.Width) %>%
  ggplot(aes(x = id, y = Value, color = Trait)) +
  geom_point()

输出:

logged: function () {
var request = require('request');
test = "nothing!";

request('http://localhost:8080/log', function (error, response, body){
console.log('error:', error);
console.log('statusCode:', response && response.statusCode);
console.log('body:', body);
test = body;
});


console.log('test', test);

2 个答案:

答案 0 :(得分:0)

请求是异步的,因此底层的console.log将在为主体分配测试变量之前执行。

所以console.log需要在请求响应函数中。

如果您希望稍后在响应函数之外使用正文,则取决于您计划如何使用它。

答案 1 :(得分:0)

答案就在这里:How do I return the response from an asynchronous call? 请求是异步调用!

解决方案并不漂亮,但它起作用了!

setTimeout(function() { console.log('test', test);}, 3000);