Javascript 如何使用NodeJS从网站获取HTML?
我知道这是一个非常基本的问题,但我无法让任何东西起作用。 我有一个URL列表,我需要使用NodeJS从中获取HTML 我尝试过使用Axios,但返回的响应总是未定义的。 我用post请求点击端点Javascript 如何使用NodeJS从网站获取HTML?,javascript,node.js,Javascript,Node.js,我知道这是一个非常基本的问题,但我无法让任何东西起作用。 我有一个URL列表,我需要使用NodeJS从中获取HTML 我尝试过使用Axios,但返回的响应总是未定义的。 我用post请求点击端点/processlogs,主体由日志文件(一个数组)组成 router.post(“/processlogs”),函数(req、res、next){ fileStrings=req.body.logFiles; 对于(var i=0;i{console.log(e)})你能用一个例子来说明第一点吗?@Ka
/processlogs
,主体由日志文件(一个数组)组成
router.post(“/processlogs”),函数(req、res、next){
fileStrings=req.body.logFiles;
对于(var i=0;i
示例文件字符串的格式为https://amazon-artifacts.s3.ap-south-1.amazonaws.com/q-120/log1.txt
如何将此过程并行化,以便一次对多个文件执行相同的任务?我可以想到两种方法:
ES6
promises(promise.all)和异步/等待特性,将fileStrings
数组分块成n
块。这是一个基本的方法,你必须处理很多情况- 这是我所想到的流程的一般概念:
异步函数handleChunk(块){
常数TobFelfilled=[];
for(块的常量文件){
TOBFELFILLED.push(axios.get(file));//用每个文件的逻辑替换axios.get
}
返回承诺。全部(待填写);
}
异步函数main(){
试一试{
const fileStrings=req.body.logfiles;
对于(i;i main().then(()=>{console.log('done')}).catch((e)=>{console.log(e)})代码>你能用一个例子来说明第一点吗?@KaranSingh,这个想法清楚吗,或者我应该进一步解释吗?。希望有帮助:)
router.post("/process-logs", function (req, res, next) {
fileStrings = req.body.logFiles;
for (var i = 0; i < fileStrings.length; i++) {
axios(fileStrings[i]).then(function (response) {
console.log(response.body);
});
}
res.send("done");
});