本文整理汇总了TypeScript中backburner.run函数的典型用法代码示例。如果您正苦于以下问题:TypeScript run函数的具体用法?TypeScript run怎么用?TypeScript run使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了run函数的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: function
QUnit.test('onError with target and action', function(assert) {
assert.expect(3);
let target = {};
let bb = new Backburner(['errors'], {
onErrorTarget: target,
onErrorMethod: 'onerror'
});
bb.run(() => assert.ok(true));
target['onerror'] = function(error) {
assert.equal('QUnit.test error', error.message);
};
bb.run(() => { throw new Error('QUnit.test error'); });
target['onerror'] = function() { };
bb.run(() => { throw new Error('QUnit.test error'); });
target['onerror'] = function(error) {
assert.equal('QUnit.test error', error.message);
};
bb.run(() => { throw new Error('QUnit.test error'); });
});
示例2: function
QUnit.test('when passed same function twice with different target and different arguments', function(assert) {
assert.expect(7);
let bb = new Backburner(['one']);
let i = 0;
function deferMethod(a, b) {
i++;
if (i === 1) {
assert.equal(a, 1, 'First argument set during first call');
} else {
assert.equal(a, 3, 'First argument set during second call');
}
assert.equal(b, 2, 'Second argument remains same');
assert.equal(this['first'], 1, 'the target property was set');
}
let argObj = {first: 1};
bb.run(() => {
bb.scheduleOnce('one', {first: 1}, deferMethod, 1, 2);
bb.scheduleOnce('one', {first: 1}, deferMethod, 3, 2);
});
assert.equal(i, 2, 'function was called twice');
});
示例3: function
QUnit.test('end event should fire before onEnd', function(assert) {
assert.expect(3);
let callNumber = 0;
let bb = new Backburner(['one', 'two'], {
onEnd() {
assert.equal(callNumber, 1);
}
});
bb.on('end', () => callNumber++);
function funcOne() {
assert.equal(callNumber, 0);
}
function funcTwo() {
assert.equal(callNumber, 0);
}
bb.run(() => {
bb.schedule('one', null, funcOne);
bb.schedule('two', null, funcTwo);
});
});
示例4:
bb.run(() => {
assert.equal(step++, 0);
bb.run(() => {
assert.equal(step++, 1);
});
});
示例5: function
QUnit.test('cancel always returns boolean', function(assert) {
let bb = new Backburner(['one']);
bb.run(function() {
let timer1 = bb.schedule('one', null, function() {});
assert.equal(bb.cancel(timer1), true);
assert.equal(bb.cancel(timer1), false);
assert.equal(bb.cancel(timer1), false);
let timer2 = bb.later(function() {}, 10);
assert.equal(bb.cancel(timer2), true);
assert.equal(bb.cancel(timer2), false);
assert.equal(bb.cancel(timer2), false);
let timer3 = bb.debounce(function() {}, 10);
assert.equal(bb.cancel(timer3), true);
assert.equal(bb.cancel(timer3), false);
assert.equal(bb.cancel(timer3), false);
assert.equal(bb.cancel(undefined), false);
assert.equal(bb.cancel(null), false);
assert.equal(bb.cancel({}), false);
assert.equal(bb.cancel([]), false);
assert.equal(bb.cancel(42), false);
assert.equal(bb.cancel('42'), false);
});
});
示例6: function
QUnit.test('onBegin and onEnd are called and passed the correct parameters', function(assert) {
assert.expect(2);
let befores: Array<any | null | undefined> = [];
let afters: Array<any | null | undefined> = [];
let expectedBefores: Array<any | null | undefined> = [];
let expectedAfters: Array<any | null | undefined> = [];
let outer: any;
let inner: any;
let bb = new Backburner(['one'], {
onBegin: function(current, previous) {
befores.push(current);
befores.push(previous);
},
onEnd: function(current, next) {
afters.push(current);
afters.push(next);
}
});
bb.run(function() {
outer = bb.currentInstance;
bb.run(function() {
inner = bb.currentInstance;
});
});
expectedBefores = [outer, null, inner, outer];
expectedAfters = [inner, outer, outer, null];
assert.deepEqual(befores, expectedBefores, 'before callbacks successful');
assert.deepEqual(afters, expectedAfters, 'after callback successful');
});