首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用passport-jwt获取用户I?

如何使用passport-jwt获取用户I?
EN

Stack Overflow用户
提问于 2018-08-30 04:06:34
回答 1查看 52关注 0票数 0

我尝试获取userid并将其添加到一个函数中,该函数在节点服务器启动时运行。我已经尝试过axiosnode-fetch发送GET请求并获取id,但它不起作用。我甚至试过app.get("/api/users/current")

它使用具有id的对象进行响应。我是不是漏掉了什么?谢谢

代码语言:javascript
复制
const userId = "";

module.exports = function mailUser(mailday) {
  console.log("Users fired");

  console.log(userId);



  // axios.get("http://localhost:5001/api/users/current")
  // .then((res) => {
  //   userId = res.id;
  //   console.log(UserId);
  // })
  // .catch((err) => {
  //   console.log(err);
  // });
  // console.log(userId);

  let deffered = Q.defer();

  Coworker.find({ user: userId }).exec((err, coworker) => {
    let coworkers = [];

    if (err) {
      deffered.reject(console.log("failed: " + err));
    } else {
      // Add all users coworkers
      for (let i = coworker.length - 1; i >= 0; i--) {
        coworkers.push(coworker[i]);
      }
      deffered.resolve(coworkers);
    }
    console.log(coworkers);
  });

  return deffered.promise;
};
EN

回答 1

Stack Overflow用户

发布于 2018-08-30 17:06:10

我认为你搞砸了两件事:

  • axios.get(...)中您可以调用console.log(UserId),尽管您的变量名为userId,开头带有小代码。
  • 要从axios响应中使用id,您需要从<代码>D9u >对象而不是<代码>D10直接访问它。

axios.get("http://localhost:5001/api/users/current") .then((res) => { userId = res.data.id;console.log(userId);}) .catch((err) => { console.log(err);});

我更喜欢将async/await与对象解析结合使用,因此它将是:

代码语言:javascript
复制
const fetchUserID = async () => {
  const { data: { id: userId } } = await axios.get("http://localhost:5001/api/users/current");
  return userId;
}

因此,在检索userId的代码中,您只需调用该函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52085340

复制
相关文章

相似问题

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