从 API 中提取信息并将其添加到数据库(MEAN 堆栈)
Pulling information from API and adding it to database (MEAN stack)
我觉得自己像个彻头彻尾的白痴,但我和一个朋友正在一起做一个项目,但无法找到 return 从 Etsy API 请求的项目的第一条路线,并添加了 getAllListings项目到数据库。如果您能明显看出我们做错了什么,请告诉我。
我还应该提到,虽然语句 console.dir(body)
确实将项目打印到终端,但看起来内容并没有传递到 GET '/api/etsy/getListings'
谢谢!
routes.js
//this i want to return a list of active listings from the users shop.
app.get('/api/etsy/getListings',function(req, res){
bEtsy.getAllListings(req, res, function(err, body) {
});
res.json(req.body);
});
bEtsy.js
var standardCallback = function (err, status, body, headers, callback) {
if (err) {
console.log(err);
return callback(err, null);
}
if (body) {
console.dir(body);
return callback(null, body); // this gives me an error
}
}
var getAllListings = function(itemId, callback){
var Item = mongoose.model('Item');
var listingsParams = {
include_private: true
}
etsy.auth().get(
'/shops/'+etsy.shop+'/listings/active',
listingsParams,
function(err, status, body, headers){
var newi = new Item({name: body.title, stock: body.count, owner: "00000000000000000000",
etsy:{listingId: body.listing_id, stock: body.count}});
newi.save(function(err){
if (err) return handError(err);
});
standardCallback(err, status, body, headers, callback);
}
);
};
你用三个参数调用这个函数,而它只需要两个参数
bEtsy.getAllListings(req, res, function(err, body) {
});
最重要的是,第一个参数 itemId
被传递给请求对象,然后它也从未在函数本身内部使用,但一些名为 listingsParams
的全局变量是?!?
我觉得自己像个彻头彻尾的白痴,但我和一个朋友正在一起做一个项目,但无法找到 return 从 Etsy API 请求的项目的第一条路线,并添加了 getAllListings项目到数据库。如果您能明显看出我们做错了什么,请告诉我。
我还应该提到,虽然语句 console.dir(body)
确实将项目打印到终端,但看起来内容并没有传递到 GET '/api/etsy/getListings'
谢谢!
routes.js
//this i want to return a list of active listings from the users shop.
app.get('/api/etsy/getListings',function(req, res){
bEtsy.getAllListings(req, res, function(err, body) {
});
res.json(req.body);
});
bEtsy.js
var standardCallback = function (err, status, body, headers, callback) {
if (err) {
console.log(err);
return callback(err, null);
}
if (body) {
console.dir(body);
return callback(null, body); // this gives me an error
}
}
var getAllListings = function(itemId, callback){
var Item = mongoose.model('Item');
var listingsParams = {
include_private: true
}
etsy.auth().get(
'/shops/'+etsy.shop+'/listings/active',
listingsParams,
function(err, status, body, headers){
var newi = new Item({name: body.title, stock: body.count, owner: "00000000000000000000",
etsy:{listingId: body.listing_id, stock: body.count}});
newi.save(function(err){
if (err) return handError(err);
});
standardCallback(err, status, body, headers, callback);
}
);
};
你用三个参数调用这个函数,而它只需要两个参数
bEtsy.getAllListings(req, res, function(err, body) {
});
最重要的是,第一个参数 itemId
被传递给请求对象,然后它也从未在函数本身内部使用,但一些名为 listingsParams
的全局变量是?!?