本文整理匯總了TypeScript中vs/base/common/eventEmitter.EventEmitter.deferredEmit方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript EventEmitter.deferredEmit方法的具體用法?TypeScript EventEmitter.deferredEmit怎麽用?TypeScript EventEmitter.deferredEmit使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類vs/base/common/eventEmitter.EventEmitter
的用法示例。
在下文中一共展示了EventEmitter.deferredEmit方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: test
test('EventEmitter makes no order guarantees 2', () => {
var emitter = new EventEmitter();
var actualCallOrder: string[] = [];
emitter.addListener('foo', function() {
actualCallOrder.push('listener1-foo');
emitter.deferredEmit(() => {
emitter.emit('bar')
})
});
emitter.addListener('foo', function() {
actualCallOrder.push('listener2-foo');
})
emitter.addListener('bar', function() {
actualCallOrder.push('listener2-bar');
})
emitter.deferredEmit(() => {
emitter.emit('foo');
});
assert.deepEqual(actualCallOrder, [
'listener1-foo',
'listener2-bar',
'listener2-foo'
]);
});
示例2: test
test('two event emitters, two listeners, deferred emit', function () {
let callCnt = 0;
let emitter1 = new EventEmitter();
let emitter2 = new EventEmitter();
let eventBus = new EventEmitter();
eventBus.addEmitter2(emitter1);
eventBus.addEmitter2(emitter2);
eventBus.addListener2('eventType1', function (e) {
assert(true);
callCnt++;
});
eventBus.addListener2('eventType1', function (e) {
assert(true);
callCnt++;
});
eventBus.deferredEmit(function () {
assert.equal(callCnt, 0);
emitter1.emit('eventType1', {});
emitter2.emit('eventType1', {});
assert.equal(callCnt, 0);
});
assert.equal(callCnt, 4);
});
示例3: function
emitter.addListener('foo', function() {
actualCallOrder.push('listener1-foo');
emitter.deferredEmit(() => {
emitter.emit('bar')
})
});
示例4:
public deferredEmit<T>(callback: () => T): T {
return this._actual.deferredEmit(callback);
}