我有一个类别列表,需要从整个应用程序中多个位置的数据库中进行选择。
到目前为止,自使用以来,我一直在将查询返回到回调链中。
我只想在一个位置上抓取它,以便在需要修改时将它设为DRY。
基本上:
function() {
var categoryList = {};
var Category = Parse.Object.extend("Category");
var categoryQuery = new Parse.Query(Category);
categoryQuery.find(function(categories) {
categories.forEach(function(item) {
item=item.toJSON();
categoryList[item.objectId] = item.Name;
});
});
return categoryList;
}
但是我不确定将其放置在何处,而且我意识到将它写入那里的方式categoryList将为空。我如何创建一个辅助函数,以提供可以在任何地方使用的结果?
我以为可以将其放在外部文件中并使用require,但我尝试了以下操作:
module.exports = {};
module.exports = function(fn) {
<code>
fn['categoryList'] = categoryList;
return fn;
}(module.exports);
那似乎没有用。我将require放到app.js中,每次包含它时,解析都会说“更新失败,无法加载触发器”。
我很困惑,对节点/解析很陌生。有人可以帮忙吗?
谢谢。
最佳答案
选项1
helper.js
var lib = require('lib');
// exports functions
exports.help_a = function (...) { };
exports.help_b = function (...) { };
app.js
// imports heplers functions
helper = require('./helper.js');
//call
helper.help_a(...);
helper.help_a(...);
选项2
helper.js
// exports module as function
module.exports = function (...) { };
app.js
helper = require('./helper.js');
helper(...);