使用fs.readdir时从应用程序收到的响应不完整?

时间:2018-07-16 21:14:09

标签: javascript node.js

我目前正在开发一个仅保存少量消息并将其显示在我的应用程序标头中的应用程序。以下代码在本地有效,但当我将其推送到实时网站时无效。当我删除fs.readdir部分时,该应用程序可以正常工作,因此问题一定在其中。

我收到的错误是:从应用程序收到的响应不完整

我目前正在通过日志查找问题,但运气不佳。

你们看到什么东西可能会引起错误吗?

app.get('/', function (req, res) {
    var directory = './public/announcements'
    testMessages = [];
    req.session.config = config;

  // Show test banner on test site.
  if (ENV === 'TEST') {
    req.session.showTestBanner = true;
  } else {
    req.session.showTestBanner = false;
  }

    fs.readdir(directory, (err, files) => {
        if(err) throw err;

        if(files.length !== 0) {
            for(var k = 0; k < files.length; k++) {
                var fileName = directory + '/' + files[k];

                testMessages.push(JSON.parse(fs.readFileSync(fileName, "UTF8")));

                if(k === files.length - 1) {
                    res.render('pages/home', {
                        session: req.session,
                        msg: req.query.msg,
                        moment: moment,
                        messages: testMessages,
                        currentDate: moment().format()
                    });
                }
            }
        } else {
            res.render('pages/home', {
                session: req.session,
                msg: req.query.msg,
                moment: moment,
                messages: testMessages,
                currentDate: moment().format()
            });
        }
    });
});

0 个答案:

没有答案