deno.land / x / rambda@v9.1.1 / source / waitFor.js

نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import { delay } from './delay.js'import { range } from './range.js'import { type } from './type.js'
export function waitFor( condition, howLong, loops = 10){ const typeCondition = type(condition)
const passPromise = typeCondition === 'Promise' const passFunction = typeCondition === 'Function' const interval = Math.floor(howLong / loops)
if (!(passPromise || passFunction)){ throw new Error('R.waitFor') }
return async (...inputs) => { for (const _ of range(0, loops)){ const resultCondition = await condition(...inputs)
if (resultCondition === false){ await delay(interval) } else { return resultCondition } }
return false }}
rambda

Version Info

Tagged at
2 months ago