gpt4 book ai didi

node.js - NodeJS 在函数内调用 readline

转载 作者:搜寻专家 更新时间:2023-10-31 23:56:34 25 4
gpt4 key购买 nike

我正在学习 NodeJS,但遇到了一个基本问题。我试图逐行读取一个文件,对于我读取的每一行,我都会向 / + <the line> 发送一个 HTTP 请求。例如:

wlist.txt 内容

line 
line2

尝试失败:

const request = require('request') // for http request later
const readline = require('readline')
const fs = require('fs')
function fileLoader() {
const readInterface = readline.createInterface({
input: fs.createReadStream('C:\\etc\\code\\req\\wlist.txt'),
});
readInterface.on('line', function(line) {
return "test";
});
}

var aba = fileLoader();
console.log(aba); // undefined

我将 fileLoader 作为函数而不是“按原样”插入的逻辑是,我后来有一个将文件加载用于不同目的(例如 XML 请求或 JSON 请求)的开关盒。可以说:

switch (myArgs[0]) {
case 'json':
let myJSON = {username: 'val'};
request({
url: "http://192.168.1.2:3000",
method: "POST",
json: true,
body: myJSON
}, function (error, response, body){
console.log(response.headers)
console.log(response.body)
});
break;

case 'xml': .....

我完全意识到我遗漏了一些东西,可能是关于异步/ promise 或其他任何东西,但为了真正的教育,有人可以对我放轻松并告诉我方法吗?我已经尝试了一切,只是无法理解问题出在哪里..

最佳答案

我相信你想做这样的事情: https://gist.github.com/EB-BartVanVliet/533d55eb17c97f2a12ed25f479786f4a

基本上我所做的是:

  • 解析文件,查找空行并删除它们
  • 我声明了一个异步启动函数,这样我就可以在 for 循环中使用 await
  • 记录输出

关于node.js - NodeJS 在函数内调用 readline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55967508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com