СИТУАЦИЯ:
У меня была существующая кодовая база, которая использовала другую библиотеку для отправки запросов в Riot API. К сожалению, в указанной библиотеке были некоторые проблемы, поэтому я решил перейти на эту:
https://www.npmjs.com/package/riot-lol-api
https://github.com/Neamar/riot-lol-api/blob/master/lib/index.js
Единственная проблема: эта библиотека, кажется, не использует Promises, в то время как старая использовала, и мне трудно адаптировать мой код к этой новой библиотеке.
КОД:
var urls = [];
for (var i = 0; i < enemies.length; i++) {
urls.push('/lol/league/v3/positions/by-summoner/'+enemies[i].summonerId);
}
let promises = urls.map(url => fetchData(url, region, "league"));
Promise.all(promises).then(responses => {
console.log("RESPONSES: "+responses);
...
function fetchData(url, region, tag) {
// This used to be a promise when the old library was used
riotRequest.request(region.toLowerCase(), tag, url, function(err, data) {
if (!err) {
return data;
} else {
console.error("ERROR FIRST ITERATIONS: "+err);
res.render("threat", {errorMessage: "Player not found ! The game must either have started or be on the loading screen.", finalPlayers: undefined});
}
});
}
Теперь, конечно, это не работает, но рассмотрите псевдокод, чтобы объяснить, чего я хотел бы достичь здесь.
ВЫВОД:
RESPONSES: ,,,,
ВОПРОС:
Как мне адаптировать мой код к новой библиотеке?