Javascript-异步等待并获取-返回值,而不是诺言?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript-异步等待并获取-返回值,而不是诺言?相关的知识,希望对你有一定的参考价值。
我正在尝试使用异步等待并使用提取API提取数据
我的问题是,我只是不太了解我如何真正从服务器获得答案,而不是诺言的状态。我在控制台中得到以下内容
Promise <pending>
-------------------------------
locale: "en"
但是我希望服务器响应是“ locale:en”。
我的代码:
const locale = getLocale();
console.log(locale)
return;
async function getLocale()
let response = await fetch('/get-language',
headers:
'Accept': 'application/json',
'Content-Type': 'application/json'
,
method: 'GET',
).then(response =>
if (response.ok)
return response.json()
return Promise.reject(Error('error'))
).catch(error =>
return Promise.reject(Error(error.message))
)
return response
我要归档的目标是,返回此“ locale:en”响应,并将其存储在我的代码示例开头的“ locale” const中。
我在做什么错?我想我不是在等待什么,但是我真的不确定。
KR
我正在尝试使用异步等待并使用访存API来访存数据。我的问题是,我只是不太了解我是如何真正从服务器获得答案的,而不是诺言的状态。 ...
答案
要获得Promise所解析的值而不是Promise本身,请使用.then()
或await
。请注意,两者都需要回调或异步上下文,因为根本不可能将此异步结果带到同步上下文(例如文件的顶级)。
以上是关于Javascript-异步等待并获取-返回值,而不是诺言?的主要内容,如果未能解决你的问题,请参考以下文章
Javascript - 异步等待和获取 - 返回值,而不是承诺?