我有一個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