当前位置: 首页 > 知识库问答 >
问题:

将值从promise转换为字符串(CookieStore.get问题)

池照
2023-03-14

我正试图从网站上的cookie中获取一部分值。因此,我编写了获取cookie值的代码,效果很好。我尝试将返回值的JSON.stringify()转换为字符串,但它将其转换为空对象。我怀疑这是因为返回的对象是一个Promise对象,但我不知道为什么会有不同。这是我到目前为止所做的。

const getCookie = async (name) => {
  const cookie = await cookieStore.get(name);
  if(cookie) {return cookie.value}
  else {console.log('cookie not found')}
}
const cookievalue = getCookie('foo');

这将返回:

Promise {<fulfilled>: 'locale%3Des_us'}

这就是我想要的cookie值。但如果我接着跑:

const newcookievalue = JSON.stringify(cookievalue);

我得到:

'[object Promise]'

顺便说一句,我想做的是对这个值运行一个IF语句——如果是“es_us”,做一件事,如果是“en_us”,做另一件事。所以现在,getCookie上的IF语句实际上只是在控制台中测试,在我将代码放入应用程序之前,我可以获取值并将其转换为字符串。

共有1个答案

艾仲渊
2023-03-14

要从async函数中获取值,应使用wait关键字。这样地:

 const cookievalue = await getCookie('foo');
 类似资料:
  • 如何将字符串值转换为int?我正在获取。 结果应该类似于。

  • 问题内容: 您如何将字符串转换为ASCII值? 例如,“ hi”将返回104105。 我可以单独执行ord(’h’)和ord(’i’),但是在有很多字母的情况下会很麻烦。 问题答案: 您可以使用列表理解:

  • 问题内容: 如何将经典字符串转换为f字符串? 输出: 所需的输出: 问题答案: f字符串是 语法 ,而不是对象类型。您不能将任意字符串转换为该语法,该语法会创建一个字符串对象,而不是相反。 我假设您想用作模板,因此只需在对象上使用方法: 如果要提供可配置的模板服务,请创建一个包含所有可以插值的字段的名称空间字典,并与调用语法一起使用以应用名称空间: 然后,用户可以在字段中的名称空间中使用任何键(或

  • 问题内容: 退货 我需要这些值是int类型而不是string类型。有没有比用foreach遍历数组并将每个字符串转换为int更好的方法呢? 问题答案: 您可以通过以下代码来实现,

  • 问题内容: Oracle Java Community网站上的一篇文章提供了以下方法作为示例(对于JPA Converter,但这并不相关): 将String y强制转换为String val有什么用?有正当的理由吗? 原始文章:JPA的新增功能 问题答案: 这样的转换是完全没有必要的。我可以想象那是以前 但是后来参数类型更改为,而作者只是忘了删除强制类型转换。

  • 问题内容: 我能够从发送消息到上。如果我从发送消息,则使用任何可访问性(包括完整的语言本地化)都没有区别;英语也没有问题。正确的编码很重要,只有以下代码行: 不幸的是,这是无效的。我要从中获取消息的情况有所不同。 在我得到消息的情况下,从Windows操作系统(英语,没有任何语言包),我能够把消息来自于形式。 如果Windows操作系统使用某些语言包进行了完全本地化,则我将收到一个例外 消息缓冲区