javascript - javascript 通过 fetch 获取 Json 数据
问题描述
我在js中很菜鸟。我想要做的是向我的服务器发送一个get请求并接收一个json。我可以通过 fetch 来做到这一点,但是它返回一个不适合我的承诺,因为我需要将接收到的 json 传递给另一个函数。有什么办法可以摆脱承诺?如果没有任何替代解决方案?我搜索了很多,但没有找到合适的解决方案。
这是我的功能:
function fetchAndConvertData(path) {
return fetch(path).then(response =>
response.json().then(data => ({
data: data,
status: response.status
})
).then(async res => {
return res.data
}));
}
解决方案
你可以简单地写:
async function fetchAndConvertData(path) {
const response = await fetch(path);
const data = await response.json();
return { // This is a Promise because async functions always return a Promise
data,
status: response.status
}
}
(async () => {
const result = await fetchAndConvertData("some/path/here");
console.log(result)
})();
推荐阅读
- html - 将相同的样式应用于 div 容器与将其单独应用于其中的元素不同吗?
- javascript - 在数组中查找对象
- firebase - 无法在 Flutter 中为 Firebase Firestore 启用离线持久性和缓存大小
- javascript - 相同的值被分配给javascript中对象数组的不同元素
- loops - 在 C++ 中使用迭代 For 循环查找整数的阶乘
- ios - 有没有办法为我的项目中的 Swift 包依赖项更改特定的构建设置?
- python - 迭代 pyspark 列中的列表以展开并添加其他行
- html - 如何让我的响应式导航栏在打开时覆盖在我的内容之上?
- bash - 使用 `--version` 打印`brew --cellar formula`
- c# - 如何在 ASP.NET Core 3.1 中逐行迭代列表