diff --git a/src/MemoryState.js b/src/MemoryState.js
index <HASH>..<HASH> 100644
--- a/src/MemoryState.js
+++ b/src/MemoryState.js
@@ -35,13 +35,11 @@ class LockOperations {
       (retry, n) => {
         if (this.locks.has(key)) {
           let err = new ChatServiceError('timeout')
-          return retry(err)
+          retry(err)
         } else {
           this.locks.set(key, val)
-          return Promise.resolve()
         }
-      }
-    )
+      })
   }
 
   unlock (key, val) {
diff --git a/src/RedisState.js b/src/RedisState.js
index <HASH>..<HASH> 100644
--- a/src/RedisState.js
+++ b/src/RedisState.js
@@ -67,9 +67,7 @@ class LockOperations {
         return this.redis.set(key, val, 'NX', 'PX', ttl).then(res => {
           if (!res) {
             let error = new ChatServiceError('timeout')
-            return retry(error)
-          } else {
-            return null
+            retry(error)
           }
         }).catch(retry)
       })
refactor: retry cleanup