我想知道如何将取值的输出保存到一个变量中。我的目的是把它作为一个对象来使用。
这是我的代码。
async function getWeather() {
let response = await fetch('url');
let result = await response.json();
return console.log(result);
}
getWeather();
这段代码给了我预期的响应
我试着返回结果而不是控制台日志,并将其存储在一个变量中(let weather=getWeather();
),给了我一个承诺对象
当我控制台登录时 weather
.
我还尝试了这个问题的另一个解决方案,得到了答案。此处但当我试图控制台记录取物之外的对象时,我会得到undefined。
有什么其他的解决办法吗?
你已经把它定义为一个 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>