Javascript 发送2个数组以在sailjs中查看

Javascript 发送2个数组以在sailjs中查看,javascript,sails.js,Javascript,Sails.js,我不熟悉sails.js,当我试图通过制作一个简单的web应用程序来学习它时,我遇到了一个问题。我的应用程序是关于班级管理的。我的模型有3个表格:学生、课程和列表。学生表保存关于学生的信息,课程保存关于课程的信息。list.table保存关于哪个学生在课程中以及他们的分数、他们在此课程中缺席的天数的信息。我使用了res.view(),它适用于任何需要一个数组的视图。然而,当我试图编写需要来自2个模型(学生和课程)的信息的函数时,res.view()没有帮助(或者我不知道如何正确地完成) 在那里,

我不熟悉sails.js,当我试图通过制作一个简单的web应用程序来学习它时,我遇到了一个问题。我的应用程序是关于班级管理的。我的模型有3个表格:学生、课程和列表。学生表保存关于学生的信息,课程保存关于课程的信息。list.table保存关于哪个学生在课程中以及他们的分数、他们在此课程中缺席的天数的信息。我使用了res.view(),它适用于任何需要一个数组的视图。然而,当我试图编写需要来自2个模型(学生和课程)的信息的函数时,res.view()没有帮助(或者我不知道如何正确地完成)


在那里,我想发送两个数组来查看,但我不知道如何发送。如果我喜欢,Sails.js只允许我发送一个数组。请帮帮我。多谢各位

您不能调用
res.view
两次。您需要首先收集所有数据,然后将其发送到视图

2种方法:

module.exports = {
    'new': function(req, res, next) {
         var foundCourses = function (err, courses) {
             if (err) return next(err);
             Student.find(function foundStudents (err, students) {
                 if (err) return next(err);
                 res.view({
                     courses: courses,
                     students: students
                 });
             });
         });

         Course.find(foundCourses);
    },
    //more other code here
};
或者您可以使用
async.parallel

module.exports = {
    'new': function(req, res, next) {
        var dataCallback = function (err, data) {
            if (err) return next(err);
            var courses = data[0];
            var students = data[1];
            res.view({
                courses: courses,
                students: students
            });
        };

        async.parallel([
            function(callback) {
                Course.find(callback);
            },
            function(callback) {
                Student.find(callback);
            }
        ],dataCallback);
    },
};

您不能调用
res.view
两次。您需要首先收集所有数据,然后将其发送到视图

2种方法:

module.exports = {
    'new': function(req, res, next) {
         var foundCourses = function (err, courses) {
             if (err) return next(err);
             Student.find(function foundStudents (err, students) {
                 if (err) return next(err);
                 res.view({
                     courses: courses,
                     students: students
                 });
             });
         });

         Course.find(foundCourses);
    },
    //more other code here
};
或者您可以使用
async.parallel

module.exports = {
    'new': function(req, res, next) {
        var dataCallback = function (err, data) {
            if (err) return next(err);
            var courses = data[0];
            var students = data[1];
            res.view({
                courses: courses,
                students: students
            });
        };

        async.parallel([
            function(callback) {
                Course.find(callback);
            },
            function(callback) {
                Student.find(callback);
            }
        ],dataCallback);
    },
};

多谢各位。我试着自己学习,这是我的一个低级错误:谢谢你。我试着自己去学,这是我的一个低级错误:D