當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript on.emit函數代碼示例

本文整理匯總了TypeScript中src/on.emit函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript emit函數的具體用法?TypeScript emit怎麽用?TypeScript emit使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了emit函數的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: registerSuite

interface DOMEvent extends EventObject {
	preventDefault: Function;
}

registerSuite({
	name: 'events - EventTarget',

	'common cases': common({
		eventName: 'test',
		createTarget: createTarget,
		destroyTarget: destroyTarget
	}),

	'emit return value'() {
		const target = createTarget();
		assert.isTrue(emit(target, { type: 'test' }));

		const handle = on(target, 'test', function (evt: DOMEvent) {
			evt.preventDefault();
		});

		assert.isTrue(emit(target, { type: 'test', cancelable: false }));
		assert.isFalse(emit(target, { type: 'test', cancelable: true }));

		destroyTarget(target);
		handle.destroy();
	},

	'emit on window'() {
		const target = window;
開發者ID:Gamelena,項目名稱:core,代碼行數:30,代碼來源:browserOnly.ts

示例2: require

import common from './common';
import registerSuite = require('intern!object');
import assert = require('intern/chai!assert');
import on, { emit } from 'src/on';

function createTarget() {
	const events = require('events');
	return new events.EventEmitter();
}

registerSuite({
	name: 'events - EventEmitter',

	'common cases': common({
		eventName: 'test',
		createTarget: createTarget
	}),

	'emit return value'() {
		const target = createTarget();
		assert.isFalse(emit(target, { type: 'test' }));

		const handle = on(target, 'test', function () {});
		assert.isFalse(emit(target, { type: 'test' }));

		handle.destroy();
	}
});
開發者ID:Tomdye,項目名稱:core,代碼行數:28,代碼來源:nodeOnly.ts

示例3: function

export default function (args: any) {
	let target: any;
	const testEventName: string = args.eventName;

	return {
		beforeEach() {
			target = args.createTarget();
		},

		afterEach() {
			cleanUpListeners();
			args.destroyTarget && args.destroyTarget(target);
		},

		'on and emit'() {
			let listenerCallCount = 0;
			let emittedEvent: CustomEvent;

			testOn(target, testEventName, function (actualEvent: CustomEvent) {
				listenerCallCount++;
				assert.strictEqual(actualEvent.value, emittedEvent.value);
			});

			emittedEvent = { value: 'foo', type: testEventName };
			emit(target, emittedEvent);
			assert.strictEqual(listenerCallCount, 1);

			emittedEvent = { value: 'bar', type: testEventName };
			emit(target, emittedEvent);
			assert.strictEqual(listenerCallCount, 2);
		},

		'on - multiple event names'() {
			let listenerCallCount = 0;
			let emittedEventType: string;
			let emittedEvent: CustomEvent;

			testOn(target, ['test1', 'test2'], function (actualEvent: CustomEvent) {
				listenerCallCount++;
				if (emittedEventType in actualEvent) {
					assert.strictEqual(actualEvent.type, emittedEventType);
				}
				assert.strictEqual(actualEvent.value, emittedEvent.value);
			});

			emittedEventType = 'test1';
			emittedEvent = { type: emittedEventType, value: 'foo' };
			emit(target, emittedEvent);
			assert.strictEqual(listenerCallCount, 1);

			emittedEventType = 'test2';
			emittedEvent = { type: emittedEventType, value: 'bar' };
			emit(target, emittedEvent);
			assert.strictEqual(listenerCallCount, 2);
		},

		'on - multiple handlers'() {
			const order: any[] = [];
			testOn(target, ['a', 'b'], function (event: CustomEvent) {
				order.push(1 + event.type);
			});
			testOn(target, [ 'a', 'c' ], function (event: CustomEvent) {
				order.push(2 + event.type);
			});
			emit(target, { type: 'a' });
			emit(target, { type: 'b' });
			emit(target, { type: 'c' });
			assert.deepEqual(order, [ '1a', '2a', '1b', '2c' ]);
		},

		'once'() {
			let listenerCallCount = 0;
			let emittedEvent: CustomEvent;

			handles.push(once(target, testEventName, function (actualEvent: CustomEvent) {
				listenerCallCount++;
				assert.strictEqual(actualEvent.value, emittedEvent.value);
			}));

			emittedEvent = { value: 'foo', type: testEventName };

			emit(target, emittedEvent);
			assert.strictEqual(listenerCallCount, 1);

			emit(target, emittedEvent);
			assert.strictEqual(listenerCallCount, 1);
		},

		'pausable'() {
			let listenerCallCount = 0;
			let emittedEvent: CustomEvent;

			let handle = pausable(target, testEventName, function (actualEvent: CustomEvent) {
				listenerCallCount++;
				assert.strictEqual(actualEvent.value, emittedEvent.value);
			});
			handles.push(handle);

			emittedEvent = { value: 'foo', type: testEventName };

//.........這裏部分代碼省略.........
開發者ID:GionHobby,項目名稱:core,代碼行數:101,代碼來源:common.ts


注:本文中的src/on.emit函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。