无法在 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 ......
}

解决方法

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

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