如果缺少一个凭证,则将用户注销

时间:2015-10-29 16:28:56

标签: javascript

我正在试图找出为了正确使用此代码而应遵循的步骤

这是一个功能,我需要的是,如果缺少某些凭据,则将用户注销并从localforage中删除整个项目

function missingCredentials () {
  localforage.getItem('apogeLiveLobbyData').then((apogeLiveLobbyData) => {
    localforage.getItem('apogeeLiveCasinoUser').then((apogeeLiveCasinoUser) => {
      localforage.getItem('apogeeLiveCasinoToken').then((apogeeLiveCasinoToken) => {
        if (!apogeLiveLobbyData || !apogeeLiveCasinoUser || !apogeeLiveCasinoToken) {
          localforage.removeItem('apogeLiveLobbyData');
          localforage.removeItem('apogeeLiveCasinoUser');
          localforage.removeItem('apogeeLiveCasinoToken');
          AuthActions.logout();
        }
      });
    }).catch((err) => {
      console.log(err);
    });
  }).catch((err) => {
    console.log(err);
  });
}

那好吗?

但如果apogeLiveLobbyData不可用,会发生什么?它会跳到下一步吗?

或者我应该以这种方式放置代码

function missingCredentials () {
  localforage.getItem('apogeLiveLobbyData').then((apogeLiveLobbyData) => {
    if (!apogeLiveLobbyData) {
      localforage.removeItem('apogeLiveLobbyData');
      AuthActions.logout();
    }
    localforage.getItem('apogeeLiveCasinoUser').then((apogeeLiveCasinoUser) => {
      if (!apogeeLiveCasinoUser) {
        localforage.removeItem('apogeLiveLobbyData');
        localforage.removeItem('apogeeLiveCasinoUser');
        AuthActions.logout();
      }
      localforage.getItem('apogeeLiveCasinoToken').then((apogeeLiveCasinoToken) => {
        if (!apogeeLiveCasinoToken) {
          localforage.removeItem('apogeLiveLobbyData');
          localforage.removeItem('apogeeLiveCasinoUser');
          localforage.removeItem('apogeeLiveCasinoToken');
          AuthActions.logout();
        }
      });
    }).catch((err) => {
      console.log(err);
    });
  }).catch((err) => {
    console.log(err);
  });
}

所以,如果前两个凭证可用但第三个凭证不可用,那么我需要从localforage中删除所有项目,缺少哪个凭证并不重要,一旦缺少一个凭证,我应该记录用户并删除localforage中的所有项目。

是不是很清楚?

0 个答案:

没有答案