Функция, которую вы передаете then()
, действительно не будет вызываться до тех пор, пока не будет решено обещание then
.
.then(fetch(`https://${region[...
Проблема в том, что вы не передает функцию then
. Вы немедленно вызываете fetch()
и передаете его возвращаемое значение (которое является обещанием, а не функцией).
Вместо этого передайте функцию:
.then((encryptedAccountId) => fetch(`https://${region[...
Вы также можете перейти к async
/ await
синтаксису , который обычно более читабелен:
(async function () {
let summonerName = "nightblue3";
const region = ['na1', 'br1', 'eun1', 'euw1', 'jp1', 'kr', 'la1', 'la2', 'oc1', 'ru', 'tr1'];
let endIndex = 100;
let beginIndex = 0;
const fetch = require("node-fetch");
let userUrl = `https://${region[0]}.api.riotgames.com/lol/summoner/v4/summoners/by-name/${summonerName}?api_key=${apiKey}`;
const userResponse = await fetch(userUrl);
const userData = await userResponse.json();
const encryptedAccountId = userData.accountId;
const matchlists = await fetch(
`https://${region[0]}.api.riotgames.com/lol/match/v4/matchlists/by-account/${encryptedAccountId}?endIndex=${endIndex}&beginIndex=${beginIndex}&api_key=${apiKey}`
);
// ...
})();