JavaScript Fetch API - 将输出保存为对象 [重复] 。

问题描述 投票:0回答:1

我想知道如何将取值的输出保存到一个变量中。我的目的是把它作为一个对象来使用。

这是我的代码。

async function getWeather() {
    let response = await fetch('url');
    let result = await response.json();
    return console.log(result);
}
getWeather();

这段代码给了我预期的响应

the expected response

我试着返回结果而不是控制台日志,并将其存储在一个变量中(let weather=getWeather();),给了我一个承诺对象

the promise object

当我控制台登录时 weather.

我还尝试了这个问题的另一个解决方案,得到了答案。此处但当我试图控制台记录取物之外的对象时,我会得到undefined。

有什么其他的解决办法吗?

javascript fetch-api weather-api
1个回答
1
投票

你已经把它定义为一个 async 函数,它将总是返回一个 Promise 先用。

使用 await 关键字 console.log() 呼吁 await 为返回值。

async function getWeather() {
    let response = await fetch('https://api.weather.gov/alerts');
    let result = await response.json();
    return result;
}

(async () => {
    document.querySelector("#output").innerText = JSON.stringify(await getWeather(), null, 2);
})();
<pre id="output"></pre>
© www.soinside.com 2019 - 2024. All rights reserved.