本人想要实现的功能是每隔两秒用nodejs的文件模块读取本地input.txt文本内容,然后在while循环里用request模块通过get请求把文本内容发送到云服务器,原本的代码是把while的循环控制条件写死成true让它一直循环,在云服务器上终端里查看始终接收不到数据,后来测试直接在浏览器里发起单次get请求能接到数据,之后把while循环的控制条件改成循环10次,云服务器终端里查看,在while循环执行的过程中,无法接收到数据,但是10次循环结束后,能够一次性接收10次数据,我的初衷是想让服务器能够实时监控文本数据内容,请问如何改这段代码,本人想应该是同异步请求有关
const request=require('request')
const querystring=require('querystring')
var fs = require("fs");
var data = fs.readFileSync('input.txt');
data=data.toString();
let fun = () => console.log('time out');
function sleep(delay) {
var start = (new Date()).getTime();
while ((new Date()).getTime() - start < delay) {
continue;
}
}
sleep(2000);
var obj={
'data':data,
};
console.log(obj)
var content;
var url;
var control=10;
while(control--){
data=fs.readFileSync('input.txt');
data=data.toString();
obj={
'data':data,
};
content=querystring.stringify(obj);
console.log(content)
url='https://www.example.com/dataRequestServer?'+content;
request.get({
'url':url,
},(error,response,body)=>{
let result=JSON.parse(body);
result.code=req.query.code;
res.json(result);
})
sleep(2000);
}