【发布时间】:2020-07-22 22:03:52
【问题描述】:
所以我试图链接来自 api 的请求,我知道这是一个异步请求。然而,我的理解是,使用.then() 会返回一个承诺,并且代码会等待它被解决,然后再转到下一个.then()。当我console.log变量encryptedAccountId而不是返回它时,我得到了想要的结果。但是当我尝试将其放入下一个 url 时,它说变量未定义。我也尝试过使用await 和async,但没有成功。我在这里想念什么?
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}`
fetch(userUrl).then(res => {
return res.json()})
.then(getEncryptedAcccountId=> {
var encryptedAccountId = (getEncryptedAcccountId.accountId)
return encryptedAccountId})
.then(fetch(`https://${region[0]}.api.riotgames.com/lol/match/v4/matchlists/by-account/${encryptedAccountId}?endIndex=${endIndex}&beginIndex=${beginIndex}&api_key=${apiKey}`))```
【问题讨论】:
-
.then(fetch())应该是then(encryptedAccountId => fetch()) -
@VLAZ 你真的是一个圣人先生。上帝保佑你。
标签: javascript node.js api asynchronous callback