aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils/interval_utils.ts
diff options
context:
space:
mode:
authorLeonid <logvinov.leon@gmail.com>2017-09-07 00:32:02 +0800
committerGitHub <noreply@github.com>2017-09-07 00:32:02 +0800
commitc56724981970f90dfe68212d0447e8c7c9866b07 (patch)
tree0d57265a1d2a405987a6764e0c3c858fc87f26c0 /src/utils/interval_utils.ts
parent912d15cb73de0d44394c9d2e11e8dfdb248ade9c (diff)
parentd2dc4d18be93fd04f237bef7fe7e29e4a9447517 (diff)
downloaddexon-sol-tools-c56724981970f90dfe68212d0447e8c7c9866b07.tar
dexon-sol-tools-c56724981970f90dfe68212d0447e8c7c9866b07.tar.gz
dexon-sol-tools-c56724981970f90dfe68212d0447e8c7c9866b07.tar.bz2
dexon-sol-tools-c56724981970f90dfe68212d0447e8c7c9866b07.tar.lz
dexon-sol-tools-c56724981970f90dfe68212d0447e8c7c9866b07.tar.xz
dexon-sol-tools-c56724981970f90dfe68212d0447e8c7c9866b07.tar.zst
dexon-sol-tools-c56724981970f90dfe68212d0447e8c7c9866b07.zip
Merge pull request #157 from 0xProject/feature/throw-for-exchange-errors
Feature/throw for exchange errors
Diffstat (limited to 'src/utils/interval_utils.ts')
-rw-r--r--src/utils/interval_utils.ts20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/utils/interval_utils.ts b/src/utils/interval_utils.ts
new file mode 100644
index 000000000..1656318e6
--- /dev/null
+++ b/src/utils/interval_utils.ts
@@ -0,0 +1,20 @@
+import * as _ from 'lodash';
+
+export const intervalUtils = {
+ setAsyncExcludingInterval(fn: () => Promise<void>, intervalMs: number) {
+ let locked = false;
+ const intervalId = setInterval(async () => {
+ if (locked) {
+ return;
+ } else {
+ locked = true;
+ await fn();
+ locked = false;
+ }
+ });
+ return intervalId;
+ },
+ clearAsyncExcludingInterval(intervalId: number): void {
+ clearInterval(intervalId);
+ },
+};