gpt4 book ai didi

node.js - 使用 Node.js 轮询 REST 服务

转载 作者:搜寻专家 更新时间:2023-10-31 22:22:01 25 4
gpt4 key购买 nike

我正在开发一项服务,该服务每分钟左右轮询 Foursquare 以进行某些签到,并将结果保存/更新到 NoSQL 数据库中。使用 setInterval 包装 http.request 然后使用数据事件发射器聚合分块响应的最佳方法是什么?我计划使用最终发射器来解析 JSON 并在请求完成后推送到 NoSQL 数据库中。想法?

最佳答案

可能有更好的方法,但我最终只使用事件发射器来处理 REST 响应,如下所示:

var fourSquareGet = {
host: 'api.foursquare.com',
port: 443,
path: '/v2/venues/search?ll=33.88,-119.19&query=burger*',
method: 'GET'
};
setInterval(function () {
var reqGet = https.request(fourSquareGet, function (res) {
var content;

res.on('data', function (chunk) {
content += chunk;
});
res.on('end', function () {
// remove 'undefined that appears before JSON for some reason
content = JSON.parse(content.substring(9, content.length));
db.checkins.save(content.response.venues, function (err, saved) {
if (err || !saved) throw err;
});
console.info("\nSaved from Foursquare\n");
});
});

reqGet.end();
reqGet.on('error', function (e) {
console.error(e);
});
}, 25000);

但是,我不确定为什么要从我从 foursquare 收到的 JSON 中解析出“undefined”。

关于node.js - 使用 Node.js 轮询 REST 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12097182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com