* [jsfm] change callbacks from array to object

Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/acd5814a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/acd5814a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/acd5814a

Branch: refs/heads/0.16-dev
Commit: acd5814a8e64f6cc1dff52b9c5333867d5107570
Parents: 769167a
Author: Hanks <zhanghan...@gmail.com>
Authored: Wed Jul 26 16:03:57 2017 +0800
Committer: Hanks <zhanghan...@gmail.com>
Committed: Wed Jul 26 16:03:57 2017 +0800

----------------------------------------------------------------------
 html5/runtime/callback-manager.js | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/acd5814a/html5/runtime/callback-manager.js
----------------------------------------------------------------------
diff --git a/html5/runtime/callback-manager.js 
b/html5/runtime/callback-manager.js
index a83f034..84a40f2 100644
--- a/html5/runtime/callback-manager.js
+++ b/html5/runtime/callback-manager.js
@@ -28,7 +28,7 @@ export default class CallbackManager {
   constructor (instanceId) {
     this.instanceId = instanceId
     this.lastCallbackId = 0
-    this.callbacks = []
+    this.callbacks = {}
   }
   add (callback) {
     this.lastCallbackId++
@@ -37,13 +37,13 @@ export default class CallbackManager {
   }
   remove (callbackId) {
     const callback = this.callbacks[callbackId]
-    this.callbacks[callbackId] = undefined
+    delete this.callbacks[callbackId]
     return callback
   }
   consume (callbackId, data, ifKeepAlive) {
     const callback = this.callbacks[callbackId]
     if (typeof ifKeepAlive === 'undefined' || ifKeepAlive === false) {
-      this.callbacks[callbackId] = undefined
+      delete this.callbacks[callbackId]
     }
     if (typeof callback === 'function') {
       return callback(data)
@@ -51,6 +51,6 @@ export default class CallbackManager {
     return new Error(`invalid callback id "${callbackId}"`)
   }
   close () {
-    this.callbacks = this.callbacks.map(cb => undefined)
+    this.callbacks = {}
   }
 }

Reply via email to