javascript - 如何告诉 js 等待完成所有 fetch 命令然后继续执行全局代码?
问题描述
我需要从 json api 分配值。但是由于 fetch 是异步的,所以在执行了一些 js 之后就完成了。那么如何告诉代码等待获取完成并“加载”数据,然后再继续执行代码呢?
我已经尝试在“.then”和“=>”选项中添加代码,这很有效,但会破坏大部分后续代码。在尝试了来自各种 stackoverflow 和其他网站的数十条建议之后,我仍然完全迷失了方向。
var latitude = 0;
var longitude = 0;
var city = "";
fetch("http://ip-api.com/json/?fields=lat,lon,city").then(function (response) {
return response.json();
}).then(function (response) {
latitude = response.lat;
longitude = response.lon;
city = response.city;
});
var center = SMap.Coords.fromWGS84(latitude, longitude);
...
在继续执行其他代码之前,我需要先在此函数中执行所有内容(将 json 数据分配给我的全局变量)。
解决方案
推荐阅读
- python - 将浮点坐标添加到 numpy 数组
- sql - postgres 在结果行中执行 sql
- python - Python 4 阶差异。Eqn 使用 bvp 求解器
- firebase - Firestore 查询未根据安全规则工作
- python-3.x - 当我尝试在虚拟环境中通过“pip3 install translate”安装包(翻译)时出现错误
- php - Eloquent API 资源 - 将资产链接添加到嵌套值
- javascript - Mongoose 找不到所需的输出
- python - (已解决)Tensorflow 联合 | tff.learning.from_keras_model() 具有具有 DenseFeature 层和多个输入的模型
- cassandra - Apache Cassandra 3.11.4 是否支持每个节点超过 1TB 的存储?
- java - 在flyway java迁移中检索属性