[英]Writing data to JSON file using nodeJS takes too long
我正在创建一个 function 来计算元素的点击次数,并将它们放入 JSON 文件中
const fs = require('fs');
const file = fs.readFileSync('public/js/count.json');
const Words = JSON.parse(file);
const express = require('express');
const app = express();
app.listen(process.env.PORT || 3000, () => console.log('we are listeining'));
app.use(express.static('public'));
app.use(express.json({ limit : '1mb' }));
app.get('/add/:word', addWord);
function addWord(request, response) {
var data = request.params;
var word = data.word;
var reply;
var found = false;
for (i = 0; i < Words.length; i++){
if (Words[i].type == word){
Words[i].count++;
found = true;
break;
}
}
if (!found) {
Words.push({"type": word , "count": 1});
}
var x = JSON.stringify(Words, null, 2);
fs.writeFile('public/js/count.json', x, finished);
function finished(){
console.log('Yay')
}
/*
console.log(Words[word]); */
/* response.send(reply); */
}
当我通过脚本运行代码时
async function counter(elemid){
let response = await fetch("/add/"+elemid);
}
响应时间太长,有时会导致请求超时,是否有更快的方法来实现完全相同的目的
您没有在完成的处理程序中编写响应。 这使每个请求只能通过超时结束。
在您完成的 function 最后添加response.end()
。
您可以通过确保请求从您的服务器收到 200 响应而不是超时来验证这是否有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.