簡體   English   中英

如何使用 react-native-fbsdk 提供的 LoginManager 從 Facebook 注銷?

[英]How to logout from facebook with LoginManager provided by react-native-fbsdk?

簡單來說,如何使用 react-native-fbsdk 提供的 LoginManager 登出?

如果我們查看 react-native-fbsdk 提供的 LoginManager 中的代碼,我們會發現這部分是關於logout 的

  logOut() {
    LoginManager.logOut();
  },

所以沒有回調,或承諾? 那我該如何真正使用它呢? 如果我調用LoginManager.logout() ,它實際上會執行注銷。 但是由於我不允許傳遞任何回調,並且由於它不返回承諾,那么我怎么知道注銷何時完成,或者是否成功? 我嘗試提供回調,但導致錯誤。 我也試圖從中返回一個承諾,但它也返回了一個錯誤。 所以我不知道這應該如何使用? 不可能是同步注銷吧?

我認為它不是同步功能,但我認為您不需要等待它完成。 您可以將其用作同步。 我在想這是因為如果您檢查react-native-fbsdk LoginButton上的默認LoginButton onLogoutFinished prop 不會傳遞有關注銷操作的任何參數(成功、失敗等)。 這意味着你可以假設它會毫無問題地發生,因為 facebook 本身就是這么認為的。 默認LoginButton 偵聽事件以運行onLogoutFinished函數。 如果你真的需要,你可以嘗試實現類似的東西。

對我來說,這有效:

import { LoginManager } from 'react-native-fbsdk'
LoginManager.logOut()

實際上,成功登錄后, acsessToken 變為空。因此,在調用 loginmanager.logout() 后,您可以使用 AccessToken.getCurrentAccessToken() 檢查訪問令牌,如果它為空,則您可以放心地假設注銷已成功發生。

LoginManager.logOut();
const token = await AccessToken.getCurrentAccessToken();
if(_.isEmpty(token) {/* your code for doing logout related actions */}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM