javascript - 如何访问和使用 do while 循环的返回值?
问题描述
我正在尝试从 do while 循环访问返回数据,但我无法这样做。
我已将信息存储在一个新变量(星舰)中,然后返回此变量,但它说未定义星舰。我看到这可能是一个范围界定问题,我该如何解决这个问题?
async function getData() {
const allResults = [];
let url = 'https://swapi.co/api/starships/';
do {
const res = await fetch(url);
const data = await res.json();
url = data.next;
allResults.push(...data.results);
console.log(allResults);
} while (url !== null)
let starships = allResults;
return starships;
}
console.log(starships);
解决方案
您需要获取从getData
. async/await
使用您拥有的结构执行此操作的最明显方法就是await
:
async function getData() {
const allResults = [];
let url = 'https://swapi.co/api/starships/';
do {
const res = await fetch(url);
const data = await res.json();
url = data.next;
allResults.push(...data.results);
console.log(allResults);
} while (url !== null)
let starships = allResults;
return starships;
}
async function doTheDo() {
const test = await getData();
console.dir(test);
}
doTheDo();
推荐阅读
- yii2 - Yii2 带有微数据的面包屑
- html - *ngFor 仅打印数组的第一个元素
- mysql - SQL 查询未显示具有多个 AND 和 OR 子句的所需结果
- json - Robot Framework - TypeError:解析Json时字符串索引必须是整数
- jira - 如何将 Jira Cloud 数据连接到 Web 应用程序
- unit-testing - “无效使用参数匹配器”,但我只使用匹配器
- javascript - 带有javascript的组合框下拉树?
- reactjs - 胜利 | 如何从最低的负 y 轴值显示 x 轴
- javascript - onClick 使用 jquery 显示当前 div
- javascript - 无法在 PWA (Firebase) 中获取自定义推送通知事件