From a4093c3445c542389f2eaab2875da4c1769962f3 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Thu, 25 Nov 2021 18:26:42 +0800 Subject: [PATCH] go logout --- open_im_sdk/init_login.go | 53 ++++++++++++++++++++------------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/open_im_sdk/init_login.go b/open_im_sdk/init_login.go index 5d9c41382..142062834 100644 --- a/open_im_sdk/init_login.go +++ b/open_im_sdk/init_login.go @@ -47,38 +47,39 @@ func (im *IMManager) getServerTime() int64 { } func (u *UserRelated) logout(cb Base) { - u.stateMutex.Lock() - defer u.stateMutex.Unlock() + go func() { + u.stateMutex.Lock() + defer u.stateMutex.Unlock() - u.LoginState = LogoutCmd - sdkLog("set LoginState ", u.LoginState) + u.LoginState = LogoutCmd + sdkLog("set LoginState ", u.LoginState) - err := u.closeConn() - if err != nil { - if cb != nil { - cb.OnError(ErrCodeInitLogin, err.Error()) + err := u.closeConn() + if err != nil { + if cb != nil { + cb.OnError(ErrCodeInitLogin, err.Error()) + } + return } - return - } - sdkLog("closeConn ok") + sdkLog("closeConn ok") - err = u.closeDB() - if err != nil { - if cb != nil { - cb.OnError(ErrCodeInitLogin, err.Error()) + err = u.closeDB() + if err != nil { + if cb != nil { + cb.OnError(ErrCodeInitLogin, err.Error()) + } + return } - return - } - sdkLog("close db ok") - - u.LoginUid = "" - u.token = "" - time.Sleep(time.Duration(6) * time.Second) - if cb != nil { - cb.OnSuccess("") - } + sdkLog("close db ok") - sdkLog("logout return") + u.LoginUid = "" + u.token = "" + time.Sleep(time.Duration(6) * time.Second) + if cb != nil { + cb.OnSuccess("") + } + sdkLog("logout return") + }() } func (u *UserRelated) login(uid, tk string, cb Base) {