我试图让这个函数异步调用 API 并返回响应的 JSON。但是,在 API 调用返回并填充 之前,该函数不返回任何内容res
。
我对在这个用例中正确使用异步 JavaScript 感到困惑。
根据我的理解,一旦async
在函数中声明,代码就会在遇到 an 时暂停,await
直到await
返回一个 promise。但显然情况并非如此。我错过了什么?
let queryApi = async (query) => {
const url = "http://localhost:3000/test";
const response = await fetch(url)
const res = await response.json();
return res;
}
谢谢朋友!
是的,这就是 Promise 的工作方式。您必须从异步设置或顶级模块调用异步代码。因此,假设您有以下代码(已调整)。
let queryApi = async (query) => {
const response = await fetch(query);
const res = await response.json();
return res;
}
你可以这样称呼它:
let result = await queryApi('https://www.example.com');
console.log(result);
它必须在异步函数内或在<script type='module'></script>
.
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句