gpt4 book ai didi

javascript - 不断调用/返回 Meteor.method

转载 作者:行者123 更新时间:2023-12-03 09:38:32 25 4
gpt4 key购买 nike

我有一个包含 600 个 url 的列表,我想循环请求它们。

是否可以在收到每个内容时console.log显示它的内容,而不是等待 600 完成然后将其全部返回为 1?

抱歉,如果这看起来有点模糊,不确定使用正确的术语来描述这一点。

  Meteor.methods({
getNations: function () {
this.unblock();

var result = Meteor.http.get('https://www.easports.com/uk/fifa/ultimate-team/api/fut/item?jsonParamObject=%7B%22page%22:1%7D');

var totalPages = JSON.parse(result.content).totalPages;

for (var i = 1; i < totalPages; i++) {
try {
var page = Meteor.http.get('https://www.easports.com/uk/fifa/ultimate-team/api/fut/item?jsonParamObject=%7B%22page%22:' + i + '%7D');

console.log(JSON.parse(page.content));
} catch(e) {
console.log('Cannot get page', e);
}
}

return result;
}
})

最佳答案

这将获取所有页面,将它们插入到集合中并使它们在客户端上可用。但有一些注意事项。如果多次调用该方法,您将在数据库中获得重复项,不确定这是否是您想要的。另外,错误日志记录仅发生在服务器上,并且永远不会显示给客户端,也不知道这是否是您想要的。请注意,第二个 Meteor.http.get 传递了一个回调,使其成为 run async .

# Shared code
Nations = new Mongo.Collection('nations')

# Server

Meteor.methods({
getNations: function () {
this.unblock();

var result = Meteor.http.get('https://www.easports.com/uk/fifa/ultimate-team/api/fut/item?jsonParamObject=%7B%22page%22:1%7D');

var totalPages = JSON.parse(result.content).totalPages;

var callback = function(err, page) {
if (err)
console.log('Cannot get page', e);
else
Nations.insert(page);
}
for (var i = 1; i < totalPages; i++) {
Meteor.http.get('https://www.easports.com/uk/fifa/ultimate-team/api/fut/item?jsonParamObject=%7B%22page%22:' + i + '%7D', callback);
}

return result;
}
});

Meteor.publish('nations', function() {
return Nations.find();
});

# Client
Meteor.subscribe('nations');

关于javascript - 不断调用/返回 Meteor.method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31255450/

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