首页 > 解决方案 > 这个快速应用程序中的回调来自哪里?

问题描述

在一些 freecodecamp 之后,我开始为一些后端做来自 MDN( https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/Displaying_data/Home_page 2)的 Express js 教程。

我一直在理解 async.parallel 中的回调来自哪里以及代表什么。

如果我删除回调,网站将不会加载,所以它一定有一些重要的意义,但不幸的是我没有胶水。是否调用 function(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 
        });
    });
};

标签: node.jsexpress

解决方案


回调是在异步请求完成时调用的通用函数。

   在这个特定的实例中,回调被用作异步请求中获取数据以填充页面上的书籍数量的方法。这些是必需的,因为这些查询是非阻塞的,这意味着 Javascript 将继续执行其他周围的代码,直到调用回调。如果您想了解更多关于它们一般如何工作的详细信息,请查看@dnp1204 之前提到的此处我希望这回答了你的问题。


推荐阅读