如何处理回调函数中的响应(例如,在nodejs中由cradle使用)

koa*_*der 6 io couchdb callback node.js express

我在"nodejs"中使用"express"和"cradle".如果我请求我的数据库,我必须定义一个回调来处理响应.不幸的是我在回调函数中无法访问res(响应).这个问题的最佳做法是什么?这是我的代码.

var cradle = require('cradle');
var db = new cradle.Connection().database('guestbook');
app.get('/guestbook', function(req, res) {
  db.view('guestbook/all', function(err, doc) { 
    console.log(doc);
    // How can I use res in this callback
    // to send the response?
  });
});
Run Code Online (Sandbox Code Playgroud)

ali*_*ard 10

你可以res在内部回调中使用.

在JavaScript中,内部函数"继承"外部函数的变量.或者更准确地说,该函数形成一个闭包,它是一个可以有自由变量的表达式.闭包将变量与其外部作用域绑定,后者可以是另一个函数或全局作用域的作用域.