Tôi đang sử dụng Syncano làm trừu tượng, nơi tôi đang cố gắng gọi API bên ngoài để nhận mảng JSON. JSON này cần phải được phân tích cú pháp và sau đó được lưu trữ trong syncano. Trước đó tôi cần nhận đối tượng tham chiếu từ DB để liên kết nó với đối tượng nhóm mới.Syncano Codebox - Gọi API - phân tích cú pháp JSON - nhận tham khảo - Lưu đối tượng mới
Tôi nhận được mảng nhóm (json) & đối tượng tham chiếu thành công. Nhưng tôi không thể lấy dữ liệu mới được lưu trữ, vì chỉ có 12-14 đội (phải là 18) mới được cứu.
Tôi đã thử điều này & với lời hứa nhưng nó không hoạt động. Bất cứ ai một lời khuyên tốt làm thế nào để viết lại mã để lưu trữ tất cả dữ liệu? Cảm ơn bạn - đây là những gì tôi có cho đến nay ...
//TODO: get from ARGS when executing this codebox
var teamKey = 394;
var requestURL = 'http://api.football-data.org/v1/soccerseasons/' + teamKey + "/teams";
var request = require("request");
var Syncano = require('syncano');
var Promise = require('bluebird');
var account = new Syncano({
accountKey: "abc"
});
var promises = [];
//from: http://docs.syncano.io/v1.0/docs/data-objects-filtering
//"_eq" means equals to
var filter = {
"query": {
"apikey": {
"_eq": apiKey
}
}
};
request({
headers: {
'X-Auth-Token': 'abc'
},
url: requestURL,
'Content-Type': 'application/json;charset=utf-8;',
method: 'GET',
}, function(error, response, body) {
if (error) {
console.log(error);
} else {
var json = JSON.parse(body);
var teamArray = json.teams;
var newObject;
account.instance('instance').class('competition').dataobject().list(filter)
.then(function(compRes) {
var competitionID = compRes.objects[0].id;
for (var i = 0; i < teamArray.length; i++) {
newObject = {
"name": teamArray[i].name,
"nameshort": teamArray[i].code,
"logo": teamArray[i].crestUrl,
"competition": competitionID
};
(account.instance('instance').class('teams').dataobject().add(newObject).then(function(res) {
console.log(res);
}).catch(function(err) {
console.log("Error eq: " + err);
})
);
}
}).catch(function(err) {
console.log(err);
});
}
});
bạn có thời gian thực hiện của phiên bản hiện tại của mã? –
Vâng, đó là 2002 ms @KellyJAndrews – Burkart
Mã của bạn trông cơ bản ok - tôi nghĩ rằng nó có thể là 15 req/giây bạn đang va vào đây. –