【发布时间】:2019-07-03 01:51:46
【问题描述】:
在一些 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
});
});
};
【问题讨论】:
-
很难知道你在这里问什么。 Edit 清晰地格式化代码并向我们展示您得到的结果并告诉我们您期望的结果的问题。
-
我认为你应该先阅读这个codeburst.io/… 来了解异步。 async.parallel 需要一些时间来运行它,然后在它有结果后,它会将结果传递给回调,并调用回调来渲染页面。如果您删除回调, res.render 将永远不会调用。所以它不会渲染任何东西。您的客户端没有收到响应,因此您的网站将无法加载。