我有一个priceController节点这是一个很大的代码通过角在许多地方调用。从节点控制器调用节点控制器,如何发送数据?
现在我有一个名为frontpageController哪想直接调用priceController另一个节点,而不必去角做到这一点。
但我不知道如何饲料价格控制器与数据的正确方式(从它的角度来看,它容易导致其http后)。
我怎么叫priceController从frontpageController和发送它需要(属性ID)的数据?
这是priceController
var mongoose = require('mongoose');
exports.getPrice = function(req, res) {
console.log("priceController received: " + JSON.stringify(req.body, null, 4));
console.log("propertyID: " +req.body.propertyID);
...lots of code...
res.json({error:false,priceFindResult})
console.log("Sent data back to caller");
}
这是frontpageController
var mongoose = require('mongoose');
exports.getFrontpage = function(req, res) {
//
// Call the priceController with the PropertyID
//
var priceController = require('./priceController');
var priceModel = require('../models/priceModel');
var priceTable = mongoose.model('priceModel');
var callPriceController = function() {
return new Promise((resolve, reject) => {
console.log("=====START callPriceController=====")
priceController.getPrice(
[{ "propertyID": "WAT-606" }]
,function(err, data) {
if (!err) {
console.log("callPriceController Result: " + JSON.stringify(data, null, 4));
console.log("=====RESOLVE callPriceController=====")
resolve(data);
} else {
reject(new Error('ERR callPriceController : ' + err));
};
});
})};
在我的节点控制台的结果是这样,它看起来如下
=====START callPriceController=====
priceController received: undefined
getFrontpage ERR: TypeError: Cannot read property 'propertyID' of undefined
像我实际调用priceController但不管理,以获得属性ID送到那里。
我该怎么做?
稀释是 - 你是对的,我要解析身体。你会怎么做? – torbenrudgaard
明白了这一点:'priceController.getPrice( \t \t {“body”:{“propertyID”:“WAT-606”}}''但是现在priceController抱怨说当它没有“res”时试图返回数据'res.json({error:false,priceFindResult})' – torbenrudgaard