Откуда поступает обратный вызов в этом экспресс-приложении? - PullRequest
0 голосов
/ 08 февраля 2019

после некоторого freecodecamp я начал делать учебник по Express js из MDN (https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/Displaying_data/Home_page 2) для некоторого бэкэнда.

Я застрял в понимании того, откуда поступает обратный вызов в async.parallelи что представляет.

Если я удаляю обратный вызов, сайт не загружается, поэтому он должен иметь какое-то важное значение, но, к сожалению, у меня нет клея.Вызывает ли она функцию (err, results) {res.render ('index', […]}), чтобы сделать результат доступным для данных?

var Book = require(’…/models/book’);
var async = require(‘async’);
exports.index = function(req, res) {
    async.parallel({   
        book_count: function(callback) {
            Book.countDocuments({}, callback);
        },
        [...]
        [...]
    function(err, results) {
        res.render('index', { 
            title: 'Local Library Home', 
            error: err, data: results 
        });
    });
};

1 Ответ

0 голосов
/ 09 февраля 2019

Обратный вызов - это универсальная функция, вызываемая после завершения асинхронного запроса.

В этом конкретном случае Обратный вызов используется как метод получения данных из асинхронный запрос на заполнение количества книг на вашей странице.Это необходимо, потому что эти запросы не блокируют, что означает, что Javascript будет продолжать выполнять другой окружающий код, пока не будет вызван Callback.Если вам нужно больше подробностей о том, как они работают в общем, посмотрите здесь , как упоминалось ранее @ dnp1204.Я надеюсь, что это ответило на ваш вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...