Skip to content
This repository was archived by the owner on Jul 9, 2023. It is now read-only.

Commit 333e537

Browse files
authored
add reject to defered (#8)
1 parent 156f13a commit 333e537

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

benchmark.js

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -877,6 +877,26 @@
877877
}
878878
}
879879

880+
/**
881+
* Trigger error for deferred benchmark.
882+
*
883+
* @memberOf Benchmark.Deferred
884+
* @param {Error} [err]
885+
*/
886+
function reject(err) {
887+
// make sure error not a void like value
888+
var error = err || new Error(err);
889+
error.originError = err;
890+
891+
var deferred = this,
892+
clone = deferred.benchmark;
893+
894+
var event = Event('error');
895+
clone.error = error;
896+
clone.message = error && error.message;
897+
clone.emit(event);
898+
}
899+
880900
/*------------------------------------------------------------------------*/
881901

882902
/**
@@ -2809,7 +2829,8 @@
28092829
});
28102830

28112831
Object.assign(Deferred.prototype, {
2812-
'resolve': resolve
2832+
'resolve': resolve,
2833+
'reject': reject
28132834
});
28142835

28152836
/*------------------------------------------------------------------------*/

types/index.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ declare namespace Benchmark {
130130
timeStamp: number;
131131

132132
resolve(): void;
133+
reject(err: Error): void;
133134
}
134135

135136
export interface Target {

0 commit comments

Comments
 (0)