如果我可以在node-mysql的callback中做一个“require”,那么模块函数会被添加到callback作用域还是全局作用域?
我正在使用nodejs和node-mysql驱动程序。 我发现自己正在做重复的锅炉板,如
client.query(querystr,queryparams,函数callback(错误,结果,字段){
if (err){ do err related stuff } else { do success related stuff }
}
在大多数情况下,一切都是直截了当的,重复的,除了在成功上发生的事情,这取决于查询和上下文的变化。 所以我想封装所有这一切在一个单一的function,并通过querystr,queryparams和成功function。
问题:我不能这样做,因为这是在callback中,我不能让查询引擎使用我的成功函数,即使我通过callbackparameter passing它。
所以我想我可以在callback中做一个“要求”,如果是的话,将“必需”模块的function添加到全局范围或callback范围? 我希望后者B.
您可以将variables分配给模块范围,这是一个近似于“全局”的情况:
function a() { module.sys = require("sys"); } function b(cb) { cb() }; b(a); console.log(sys);