callback - 如何处理回调函数中的响应(以 nodejs 中的 cradle 为例)

标签 callback io node.js couchdb 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?
  });
});

最佳答案

您可以只在内部回调中使用 res

在 JavaScript 中,内部函数“继承”了外部函数的变量。或者更准确地说,函数形成一个闭包,闭包是一个可以有自由变量的表达式。闭包绑定(bind)来自其外部作用域的变量,该作用域可以是另一个函数的作用域或全局作用域。

关于callback - 如何处理回调函数中的响应(以 nodejs 中的 cradle 为例),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5304320/

相关文章:

javascript - 如何在 p :calendar 中的鼠标悬停时显示工具提示

c++ - 非STL函数对象回调使用

c - 使用 C 将文本文件加载到结构中

javascript - Node.js 7.5 上的“等待意外标识符”

node.js - 断言错误: path must be a string

ruby-on-rails - after_initialize和after_find回调顺序在Active Record对象生命周期中?

javascript - Livescript,如何结束未嵌套的回调?

java - 从文本/数据文件读取数据的最佳方法是什么

java - 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?

javascript - Node.JS - promise 不等待解决