【问题标题】:What is the purpose of the res.render callback argument in Express 4.0 in Node.js?Node.js 中 Express 4.0 中 res.render 回调参数的目的是什么?
【发布时间】:2017-11-06 20:29:39
【问题描述】:

res.render 回调参数的用途是什么?

在什么情况下需要使用这样的回调参数,因为模板已经被指定为第一个参数?

这是文档中的代码:

// send the rendered view to the client
res.render('index');

// if a callback is specified, the rendered HTML string has to be sent explicitly
res.render('index', function(err, html) {
  res.send(html);
});

// pass a local variable to the view
res.render('user', { name: 'Tobi' }, function(err, html) {
  // ...
});

我理解前两个参数的目的,但不是最后一个。

【问题讨论】:

    标签: javascript node.js express pug


    【解决方案1】:

    通过回调,您可以在发送之前拦截渲染的模板。在发送给客户端之前,您可能希望对其进行缩小或修改。

    来自文档:

    如果提供,该方法会返回可能的错误和呈现的字符串,但不执行自动响应。

    【讨论】:

    • 谢谢。这是有道理的,人们希望在发送之前缩小模板。您是否还有其他可能对使用此回调参数有用的修改案例?
    • @roadtocode 取决于你想做什么......你可以用它来做任何你需要的事情。
    • 例如,我使用该渲染的数据部分来发送 HTML 电子邮件(来自 HBS 渲染的正文)。发送电子邮件后,我将另一个 JSON 呈现为 API 响应。顺便说一句,有没有其他方法可以在没有 REQ 的情况下调用渲染?理想情况下,我希望在我的模型代码中使用这个 HBS 渲染来获取电子邮件内容,而不是在路由中,
    猜你喜欢
    • 2019-02-21
    • 2013-02-22
    • 1970-01-01
    • 2019-10-26
    • 2015-07-09
    • 2011-08-14
    • 2016-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多