我已将一个服务作为getProdDetailsBatch导出,另一个作为createNewCartMysql导出到同一个文件MySQLService.js中。以下是相同的定义。
exports.getProdDetailsBatch = function(prod_list, city_id){
var defer = sails.Q.defer();
//Process Request
return defer.promise;
}
exports.createNewCartMysql = function(product_id, qty, cart_type_id, member_id, visitor_id, city_id){
var defer = sails.Q.defer();
//Process Request
getProdDetailsBatch([], 1).then(function(){
})
return defer.promise;
}
虽然我能够从不同文件和控制器中的所有其他服务使用服务getProdDetailsBatch,但不能在同一文件中定义createNewCartMysql。
有人会知道如何访问它。
答案 0 :(得分:1)
你应该尝试:
module.exports = {
getProdDetailsBatch: function(){
...
},
createNewCartMysql: function(){
...
}
}
答案 1 :(得分:0)
实际上经过一些随机试验后才开始工作:
exports.<name of the function>
以上是全球可访问的。
答案 2 :(得分:0)
如果用 module.exports 替换 exports ,这也会顺利进行。 例如:
module.exports.getProdDetailsBatch = function(prod_list, city_id){
var defer = sails.Q.defer();
//Process Request
return defer.promise;
};
module.exports.createNewCartMysql = function(product_id, qty, cart_type_id, member_id, visitor_id, city_id){
var defer = sails.Q.defer();
//Process Request
getProdDetailsBatch([], 1).then(function(){
})
return defer.promise;
}