首页 > 解决方案 > 无法在 vue2 的 facebook 登录回调中调用另一个函数

问题描述

我在我的 vue2 应用程序上使用 facebook 系统登录。这从 FB API 捕获访问令牌并发送到后端以处理用户数据。

在单击使用 facebook 按钮登录时,它会正确获取访问令牌,但在那之后,当我进行 axios 调用时,这并没有获取 post 方法。我试图将 axios 调用放在另一个方法中,并在获取令牌后调用它,但随后显示该方法未定义。

这是我的代码

 async getUserData() {
      FB.getLoginStatus(function(response) {
        if (response.status === 'connected') {
          this.fbLoginSubmit(response.authResponse.accessToken)
        }
      });
    },
fbLoginSubmit(token){
..... axios call here ......
}

标签: vue.jsaxiosfacebook-javascript-sdkasynccallback

解决方案


您是否尝试过使用箭头 (=>) 函数代替getLoginStatus

async getUserData() {
  FB.getLoginStatus(response => {
    if (response.status === 'connected') {
      this.fbLoginSubmit(response.authResponse.accessToken)
    }
  });
},

fbLoginSubmit(token){
..... axios call here ......
}

推荐阅读