您好我正在使用包node-craigslist https://github.com/brozeph/node-craigslist,我希望有人可以通过详细信息方法帮助我解决一些语法问题。 在他的文档中,他给出了示例
client
.list()
.then((listings) => client.details(listings[0]))
.then((details) => {
console.log(details);
})
.catch((err) => {
console.error(err);
});
我目前正在使用代码来获取列表,但不是详细信息。下面是我检索列表的代码部分。
client
.list(options)
.then((listings) => {
listings.forEach((listing) => {
console.log(listing);
searchResults.title[counter] = listing.title;
searchResults.date[counter] = listing.date;
searchResults.location[counter] = listing.location;
searchResults.url[counter] = listing.url;
searchResults.price[counter] = listing.price;
counter++;
if(counter === listings.length) {
socket.emit('redirect'); //change to /results.ejs if done looping
};
});//end of listings foreach
});
我一直试图将细节合并到我自己的代码中失败。有没有人知道如何做到这一点?感谢。
答案 0 :(得分:0)
您需要将listing
对象传入方法。在他的例子中,他只是在没有任何搜索选项的情况下获取最新的列表,然后从该列表中列出第一个列表。但您显然可以自定义搜索和选项。
client
.list()
.then((listings) => client.details(listings[0]))
.then((details) => {
console.log(details);
})
.catch((err) => {
console.error(err);
});
根据代码的其余部分的结构,您需要确定何时传递特定列表。在我使用此软件包构建的应用程序中,我创建了返回所有列表的初始搜索请求,然后当用户单击搜索词的列表时,我再次传递该特定列表OBJECT,然后返回细节。
更具体......