const removeSocketListener = ( subscriptionUrl: string, subscriptionId: string, callback: Subscriptions.HookCallback<any, any> | Subscriptions.SubscriptionCallback<any>, sendApi: boolean ) => { if (!socket().isConnected()) { return; } subscriptions[subscriptionId]--; emitter.removeListener(subscriptionId, callback); if (subscriptions[subscriptionId] === 0) { if (sendApi && socket().isConnected()) { socket().delete(subscriptionUrl) .catch( (error: Requests.ErrorResponse) => { logger.error('Failed to remove socket listener', subscriptionUrl, error); }); } delete subscriptions[subscriptionId]; } };
this.hasProp<Camera>("camera", (instance, newValue) => { const cameraHelperUserData = instance.userData as any; const cameraEventListener = cameraHelperUserData[cameraEventListenerSymbol]; if (instance.camera !== defaultCamera) { const userData = instance.camera.userData as any; const cameraEventEmitter: EventEmitter = userData[cameraEventsSymbol]; cameraEventEmitter .removeListener(cameraEventProjectionMatrixUpdated, cameraEventListener); } let cameraToUse = newValue; if (cameraToUse == null) { cameraToUse = defaultCamera; } else { const userData = newValue.userData as any; userData[cameraEventsSymbol] .addListener(cameraEventProjectionMatrixUpdated, cameraEventListener); } instance.camera = cameraToUse; instance.matrix = cameraToUse.matrixWorld; instance.update(); }, false);
zoneA.run(() => { emitter.on('removeListener', function(type: string, handler: any) { zoneResults.push('remove' + type); }); emitter.on('newListener', function(type: string, handler: any) { zoneResults.push('new' + type); }); emitter.on('test', shouldNotRun); emitter.removeListener('test', shouldNotRun); expect(zoneResults).toEqual(['newtest', 'removetest']); });
.once(`unsubscribe:${subscription}`, (): void => { this.removeListener(eventName, publish); this.parentEmitter.removeListener(eventName, handler); })
.once("removeAllListeners", (): void => { this.parentEmitter.removeListener(eventName, handler); });
.add("EventEmitter", () => { function listener() { } const event = events[seq++ % events.length]; eventEmitter.on(event, listener); eventEmitter.removeListener(event, listener); })
zoneB.run(() => { emitter.removeListener('test2', shouldNotRun); emitter.emit('test', 'test value'); emitter.emit('test2', 'test value'); });
const onLastListenerRemove = () => emitter.removeListener(eventName, fn);
setTimeout(() => { console.log('\n'); emitter.emit('send'); emitter.removeListener('send', listener2); }, 2000);
h => e.removeListener(EVENT_TYPE, h)