From: hyunduk.kim Date: Mon, 13 Apr 2020 07:00:46 +0000 (+0900) Subject: [Addon] Add 'once' method for wrappedEventEmitter X-Git-Tag: submit/tizen_5.5/20200625.010053~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7709dd88a9dcd6fcf8a34c2e188b3fb664cba09a;p=platform%2Fframework%2Fweb%2Fwrtjs.git [Addon] Add 'once' method for wrappedEventEmitter This change will add a new method 'once' which will work as same as 'once' of EventEmitter. Change-Id: Ib07ffcdbe357af6b9c36b7a4e22ddf4c8a7f8669 Signed-off-by: hyunduk.kim --- diff --git a/wrt_app/src/addon_manager.js b/wrt_app/src/addon_manager.js index 6492b88c..0eb9b55e 100644 --- a/wrt_app/src/addon_manager.js +++ b/wrt_app/src/addon_manager.js @@ -207,6 +207,14 @@ class AddonManager { this.evt_emitter_.off(eventName, this.addons_listeners[listener]); delete this.addons_listeners[listener]; } else console.log('Listener is not registered'); + }, + once: (eventName, listener) => { + if (EventList.indexOf(eventName) === -1) { + console.log(`Invalid Event: ${eventName}`); + } else if (!this.addons_listeners[listener]) { + console.log(`A new one-time listener for ${eventName} is added`); + this.evt_emitter_.once(eventName, getSafeFunction(listener)); + } else console.log('Listener is already registered for the multiple-time use'); } } }