javascript - 在express中传递额外参数 - Node.JS

标签 javascript node.js parameters express scope

我正在尝试从我的 Node 应用程序中删除匿名函数。例如:

app.post('/page-edit.json', function (req, res) {
    db.get(req.body.page_id, function (err, doc) {
        res.contentType('json');
        res.send(doc);
    });
});

所以说我打破了内部函数:

function innerMost(err, doc) {
    res.contentType('json');
    res.send(doc);
}

function outer(err, doc) {
     db.get(req.body.page_id, innerMost);
}


app.post('/page-edit.json', outer);

问题是,如何将额外的参数(例如“res”)传递到“innerMost”中?它在这个过程中迷失了。

如果你想查看源代码(或者甚至想为开源项目做出贡献!),你可以看到它 here !

最佳答案

这可能是你能用常规 JS 做的最好的事情了:

function outer(req, res) {
    function innerMost(err, doc) {
        res.contentType('json');
        res.send(doc);
    }

    db.get(req.body.page_id, innerMost);
}

app.post('/page-edit.json', outer);

但是,您可能想研究各种异步库,例如 https://github.com/caolan/async 。如果您想进一步冒险,您可以考虑使用icedcoffeescript http://maxtaco.github.io/coffee-script/ ,我认为这相当不错。

关于javascript - 在express中传递额外参数 - Node.JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18244250/

相关文章:

javascript - 在 window.location 中的路径后面附加来自 Angular 的参数

java - 使用此差异的构造函数参数?

javascript - Mocha 超时后 Promise 解决

javascript - NPM 不工作(找不到模块 'internal/fs' - nodejs)

node.js - 是否可以在 Node 中为没有 catch block 的 Promise 编写一个 Jest 单元测试?

c++ - V8 回调,用数字代替字符串

Python - 返回构造函数参数名称而不实例化

javascript - 隐藏按钮并在单击按钮时显示隐藏的 p-tag

javascript - 如何从 YUI TabView 中选择选项卡而不根据 URL 参数单击它

javascript - ReactJS "eating"我的 onClick 属性