Initial commit
This commit is contained in:
commit
c310cd7943
19 changed files with 3939 additions and 0 deletions
35
shared/defer.js
Normal file
35
shared/defer.js
Normal file
|
@ -0,0 +1,35 @@
|
|||
export function Deferred() {
|
||||
const defer = {}
|
||||
|
||||
defer.promise = new Promise(function (resolve, reject) {
|
||||
defer.resolve = resolve
|
||||
defer.reject = reject
|
||||
})
|
||||
|
||||
return defer
|
||||
}
|
||||
|
||||
export function delay(ms) {
|
||||
const defer = Deferred()
|
||||
|
||||
setTimeout(defer.resolve, ms)
|
||||
|
||||
return defer.promise
|
||||
}
|
||||
|
||||
export function timeout(ms, cb) {
|
||||
const defer = Deferred()
|
||||
ms = ms || 1000
|
||||
|
||||
const wait = setTimeout(() => {
|
||||
clearTimeout(wait)
|
||||
|
||||
if (cb) {
|
||||
cb && cb(defer.resolve, defer.reject)
|
||||
} else {
|
||||
defer.reject('Timed out in ' + ms + 'ms.')
|
||||
}
|
||||
}, ms)
|
||||
|
||||
return defer.promise
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue