节点0.10中未定义Process.domain
Process.domain undefined in Node 0.10
我开始使用域,并尝试了几个Express域中间件包:
https://github.com/brianc/node-domain-middlewarehttps://github.com/baryshev/connect-domain
根据第一个的使用文档,我应该可以访问process.domain
,但它是未定义的。
我基本上是在我的app.js 中这样做的
var express = require('express'),
domains = require('express-domain-middleware');
var app = exports.app = express();
app.use(domains);
在控制器中:
exports.index = function(req, res, next) {
console.log(process.domain); //undefined
};
什么东西?
在调用index
方法之前,您可能需要检查(使用console.log
或断点)以确保此行发生:
express.use(domain);
我不知道你的应用程序是如何构建的,但app.use
的顺序通常是这样的。
你的app.get('/someurl', yourcontroller.index)
应该在app.use(domain)
之后。
Ok-这是由于我的中间件中的Mongo调用。显然,所有数据库调用都必须被封装。
var d = domain.create();
d.run(function () {
client.query('...', d.intercept(function (rows) {
// ... use rows (note, first arguments error was "intercepted" by the domain)
}));
});
参考:https://github.com/felixge/node-mysql/issues/308
相关文章:
- 如何同步写入process.stdout
- Cross domain - REST API
- Node.js-等待process.exit()在前面的代码完成后执行
- 对这种与document.domain和CORS相关的不一致行为的解释是什么
- jQuery AJAX Cross Domain with BASIC Authentication
- 从 postmaster@domain.co.uk 收到的 PHP 电子邮件表单
- 将process.env变量从节点传递或使用到reactjs
- Cross-domain javascript <-> php
- 在Node.js中使用setImmediate()和process.nextTick()的意义
- 命令行上的输入在什么时候解析为 node.js 中的 process.argv
- Cookie Domain contains Dot?
- 是什么原因导致process.hrtime()挂在nodejs中
- Cross Domain XML POST
- Express+PassportJs:为什么我们需要在passport策略中延迟process.nextTick()方法
- 节点0.10中未定义Process.domain
- Cross Sub Domain Cookie
- 是否无法将document.domain设置为herokuapp.com?怎样
- JSON值使用process.env[node.js]动态更新
- express + socket.io cross domain
- “process.nextTick”如何防止我的堆栈爆炸