首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解构对象时出现意外结果

解构对象时出现意外结果
EN

Stack Overflow用户
提问于 2021-06-03 03:24:40
回答 1查看 33关注 0票数 2

对于Express项目,我正在使用Github API在我的应用程序中实现OAuth。我有一个_json对象,像这样返回;

代码语言:javascript
复制
{
  login: "basvandriel",
  id: 5286260,
  email: "contact@basvandriel.nl"
}

当然,对象中有更多的数据,但我在本例中减少了它。

为了访问数据,我可以使用_json.email或任何其他对象键,它可以正确地返回数据。然而,问题是,当尝试通过尝试以下代码来析构对象时,它返回undefined

代码语言:javascript
复制
passport.use(new GithubStrategy({
  clientID: GITHUB_CLIENT_ID,
  clientSecret: GITHUB_CLIENT_SECRET,
  callbackURL: "http://localhost:4000/auth/github/callback"
},
async function(request, accessToken, refreshToken, profile, done) {
  const {
    id,
    username,
    email
  } = profile._json;

  console.log(email) //undefined
  console.log(profile._json.email) // not undefined

  // ...

}));

这来自于使用passport-github2包。我尝试过用Object(_json)包装_json对象,但也没有成功。

为了快速解决这个问题,我只是这样做

代码语言:javascript
复制
const email = profile._json.email;

为什么这不起作用?我是不是漏掉了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-03 03:41:29

你能试着这样做吗:

代码语言:javascript
复制
const {
    id: id,
    username: username,
    email: email
  } = profile._json;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67811325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档