-4
var async = require('async');
var connection = require('../../models/connection/connection').connection;
var about_model = require('../../models/about/about_model')(connection);

module.exports = {
    getAboutInfo: function(req, res) {

        async.series([

            function(callback) {

                about_model.getDob(req.params.id, function(err, rows) {
                    dob = rows[0].user_dob;
                });
                callback();
            },
            function(callback) {
                console.log(dob);
                callback();
            }
        ], function(err) {
            if(err) throw err;
            else
                res.render('about', {
                    title: "About Page",
                    dob: dob
                });
        });
    }
}
4

1 回答 1

2

函数中回调的意义async在于告诉async您何时完成。在

        function(callback) {

            about_model.getDob(req.params.id, function(err, rows) {
                dob = rows[0].user_dob;
            });
            callback();
        }

callback在操作完成之前打电话,所以async即使你没有完成,也会认为你已经完成了。如果你移动它:

        function(callback) {

            about_model.getDob(req.params.id, function(err, rows) {
                dob = rows[0].user_dob;
                callback();
            });

        }

那么它应该像你期望的那样工作。

于 2013-09-16T19:00:09.180 回答