javascript - 如何将返回数组的函数转换为 JS 中的数组?
问题描述
我是 JS 新手,我对我的函数在做什么感到非常困惑。我在 App.js 文件中声明了一个函数 getCities,它返回一个数组:
export async function getCities() {
const options = {
method: 'GET',
headers: { 'Content-Type': 'application/json' }
}
const getData = await fetch("/api", options);
const cities = await getData.json();
console.log(cities[0]);
return cities;
}
我已将 getCities 导入另一个文件,并尝试将此函数用作数组以在 React Select 下拉菜单中填充我的选项。
console.log(Array.from(getCities));
console.log(Array.from(getCities()));
上面两个日志都输出空数组(我都试过了,因为我对 JS 语法仍然很模糊)。当我做
console.log(getCities());
我想我误解了 getCities 函数可以做什么。从我所见,我应该能够执行 getCities[0] 并查看我的第一个城市,但这会返回“未定义”。我想也许我需要使用代码将 getCities 从一系列承诺更改为常规数组
export async function myFunction() {
const options = await Promise.all(getCities);
return options;
}
但这给了我错误:未处理的拒绝(TypeError):函数不可迭代(无法读取属性符号(Symbol.iterator))。这是否意味着我设置的 getCities 函数存在问题?请原谅我的漫无边际,我对 JS 还是很陌生,我已经研究了一段时间
解决方案
推荐阅读
- magento2 - 如何在 Magento2 中以编程方式获取目录价格规则
- mysql - 将 MySQL 存储过程包含到存储库中?
- javascript - 我如何通过 POST 请求添加新对象并使用 express 添加猫鼬?
- javascript - 如何修复 html2pdf(codeigniter)中非对象上的 prepend_child?
- spring - 如何使用 Spring Cloud AWS 从 S3 中删除文件?
- reactjs - 无法输入
- python - 如何在 Pygubu 中设置复选框状态
- wordpress - Wordpress:添加自定义字段以发布表单并处理它们
- sql-server - MSSQL C# query Only add row if value is unique
- asp.net-core-2.0 - .net 核心托管为 Windows 服务 - 如何使用配置文件?