我是NodeJs的新手并且使用ebay-api . 我在GitHub找到了这个很好的例子
一个奇怪的问题是我通过CMD运行js文件 . 它工作,但有时它显示错误,然后我清除缓存它工作,有时清除缓存后,它显示错误 . 但是代码与我正确输出的代码完全相同 . 有没有人面临同样的问题或任何想法可能是什么问题?
var ebay = require('../index.js');
var params = {
keywords: ["Canon", "Powershot"],
// add additional fields
outputSelector: ['AspectHistogram'],
paginationInput: {
entriesPerPage: 10
},
itemFilter: [
{name: 'FreeShippingOnly', value: true},
{name: 'MaxPrice', value: '150'}
],
domainFilter: [
{name: 'domainName', value: 'Digital_Cameras'}
]
};
ebay.xmlRequest({
serviceName: 'Finding',
opType: 'findItemsByKeywords',
appId: '<your app id>', // FILL IN YOUR OWN APP KEY
params: params,
parser: ebay.parseResponseJson // (default)
},
// gets all the items together in a merged array
function itemsCallback(error, itemsResponse) {
if (error) throw error;
var items = itemsResponse.searchResult.item;
console.log('Found', items.length, 'items');
for (var i = 0; i < items.length; i++) {
console.log('- ' + items[i].title);
console.log('- ' + items[i].galleryURL);
console.log('- ' + items[i].viewItemURL);
}
}
);
我收到以下错误:
C:\ node_modules \ ebay-api \ examples>节点H:\ NodeJs \ app.js //通过NodeJS运行CMD H:\ NodeJs \ app.js:36 if(error)throw error; ^ Request.self.callback上的Request._callback(C:\ Users \ shiva raju \ node_modules \ ebay-api \ lib \ xml-request.js:151:23)出错(C:\ Users \ shiva raju \ node_modules \ ebay-api \ node_modules \ request \ request.js:200:22)在requestTmit(events.js:194:7)的emitTwo(events.js:106:13)处 . (C:\ Users \ shiva raju \ node_modules \ ebay-api \ node_modules \ request \ request.js:1067:10)在emit.ene(events.js:101:20)处于Request.emit(events.js:191:7) )在IncomingMessage . (C:\ Users \ shiva raju \ node_modules \ ebay-api \ node_modules \ request \ request.js:988:12)在emitNone(events.js:91:20)的IncomingMessage.emit(events.js:188:7) )
您的建议将不胜感激 . 谢谢
2 回答
您在回调中抛出了一个错误对象,但是您没有在代码中的任何位置捕获它 . 请处理你扔的错误 .
您可以使用此节点模块ebay-node-api,您可以在其中获取JSON形式的响应数据 .
您可以查看此示例以检查如何使用ebay-node-api https://github.com/ajay2507/ebay-node-api/blob/master/demo/fetchItemsByKeyword.js