承诺没有长度

时间:2015-07-23 19:12:25

标签: javascript node.js promise

我有这段代码:

exports.calculate = function(req, res, next) {
    statistics.commented_quizes = 0;
    statistics.no_commented = 0;
    Promise.all([
        models.Quiz.count(),
        models.Comment.count(),
        models.Quiz.findAll({
            include: [{
                model: models.Comment
            }]
        })
    ]).then(function(results) {                                 // `results` is an array of [quizes, comments, all]
        statistics.quizes               = results[0];
        statistics.comments             = results[1];
        statistics.average_comments     = (statistics.comments / statistics.quizes).toFixed(2);
        for (index in results[2]) {
            if (results[2][index].Comment.length) {
                statistics.commented_quizes++;
            } else {
                statistics.no_commented++;
            }
        }
    }).then(next, next);
};

此代码无法读取未定义的长度属性,在本例中为“注释”。

有什么问题?我试图删除该属性,但结果不能正常工作,所以我需要识别错误,但我不明白。

提前致谢!

1 个答案:

答案 0 :(得分:0)

回答我的问题......

我终于找到了错误。长度不归评论所有,而是评论。

抱歉不方便。

li