javascript - 具有响应和 http 方法的 Node JS 变量范围

标签 javascript node.js

我仍在尝试掌握这一点,但这让我感到困惑。所以我使用 http.get 和带有 bl 模块的管道,我希望它更改内容,以便我可以在函数之外使用它,为什么不起作用?我认为使用 var 它将在我的文件中是全局的,这将允许我更改它。

   var http = require('http');
   var bl = require('bl');

   var url1 = process.argv[2];

   var content;

   http.get(url1, function(response){
      response.pipe(bl(function(err,data){
      return data.toString();

     }));
   });
   console.log(content.length);
   console.log(content);

最佳答案

您是否尝试修改内容?您永远不会向它分配任何内容,然后尝试同步访问它(这几乎肯定会在 get 完成之前发生)。我假设你想做的事情更像是:

   ...
   var content;
   http.get(url1, function(response){
      response.pipe(bl(function(err,data){
         content = data.toString();
         console.log(content.length);
         console.log(content);
     }));
   });

关于javascript - 具有响应和 http 方法的 Node JS 变量范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25511849/

相关文章:

javascript - 生成 URL 后允许用户下载文件的正确方法

javascript - 如何将大量视频文件导入 React 应用程序

javascript - 在 typescript 中声明 for in 循环的键类型

javascript - 使用默认凭据访问 Google 表格

Node.js 在模块之间共享动态变量

node.js - 如何使用对话流从 RESTful API 获取数据

javascript - 如何将多个对象值作为单个对象发送到 JavaScript 函数

javascript - Vue-js v-for 仅在 axios POST 上发布第一条记录

node.js - WebPack 开发服务器错误 : require is not defined

node.js - 为node.js JSON.parse()制作Discord Bot错误: undefined:1