2
我在nodejs中編寫了一個api來查找銷售線索或客戶列表。現在我必須從另一個控制器使用這個api。如何從另一個控制器傳遞查詢參數並從中獲取線索列表。因此將能夠重用代碼。重用Nodejs Api
exports.listofLeads = function (req, res) {
var param = req.query.from; var s = "initialSource"; var queryLeads = Customers.find({"attributes": { $size: 0 }} ,{"email":1}); if(! param) {
queryLeads.exec(function (err, articles) {
if (err) {
return res.status(422).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.json(articles);
}
}); } else {
queryLeads.and([ { [s]: param } ]).exec(function (err, articles) {
if (err) {
return res.status(422).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.json(articles);
}
});
}
};
使用require(),我能夠訪問函數「listofleads」,但'var param = req.query.from;'拋出錯誤。我在另一個控制器中的代碼是'var customers = require('../ controllers/customers.server.controller'); exports.list = function(req,res){ \t var from = req.query.from; \t console.log(from); \t var x = customers.listofLeads(from); \t console.log(x); };' –
發生此錯誤是因爲listofleads api接受'var param = req.query.from;'但是當通過另一個控制器訪問時,它期望只獲得'var param = req;'。如何使它成爲模塊化的,從而既可以作爲api也可以作爲控制器使用。 –
以使其在exports.listofLeads = function(req,res){}中作爲模塊的一個參數表示標誌like exports.listofLeads = function(req,res,flag){} – AJS