gpt4 book ai didi

javascript - 如何正确使用基于 Javascript Promise 的函数

转载 作者:太空宇宙 更新时间:2023-11-04 02:13:23 24 4
gpt4 key购买 nike

我是新人,所以对缺乏信息表示歉意。

我有基于 Promise 的函数,它返回一个对象。然后,我从该属性传递一个键值以创建另一个对象。

我遇到一个问题,我正在创建的新对象返回未定义。我认为这是由于 JS 的异步性质造成的?

请参阅下文..

  post(postObject).then((result) => {
console.log(result); // token found in returned object. See OBJ1 below
const cookie = {
name: 'jwtToken',
value: result.token,
path: '/',
domain: '.' + APP_HOST,
secure: false
};
console.log(cookie); // result.token not returned. Getting undefined
page.addCookie(cookie);
});

cookie.value 返回为未定义

我需要能够将 result.token 作为 cookie 值传递。

当我控制台日志结果时,我可以看到生成的 token 键值。

下面是从“结果”返回的内容。我正在尝试获取“ token ”,因此我正在执行 result.token。但这一直让我“未定义”。

OBJ1:

{"token":"skjdhjkshds.sdhskjdhkshdjs.shdkjshdkjsh","isCartMerged":false} 

最佳答案

您的结果似乎是一个JSON字符串,您需要解析它才能将各个属性作为对象获取。您可以通过在 .then() 处理程序的开头插入 console.log(typeof result) 来确定它是字符串还是对象来验证这一点。

  post(postObject).then((result) => {
console.log(typeof result); // probably shows "string"
console.log(result);
var parsedResult = JSON.parse(result);
console.log(parsedResult);
const cookie = {
name: 'jwtToken',
value: parsedResult.token,
path: '/',
domain: '.' + APP_HOST,
secure: false
};
console.log(cookie);
page.addCookie(cookie);
});

关于javascript - 如何正确使用基于 Javascript Promise 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36970130/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com