Herbert Vojčík bc30f5b66a jsons for npm and bower | 9 年之前 | |
---|---|---|
README.md | 9 年之前 | |
bower.json | 9 年之前 | |
index.js | 9 年之前 | |
package.json | 9 年之前 |
Recurring (looping until succeeded) promise.
Get the class with var Repre = require('repre')
.
var repre = new Repre(factoryFn, step = 100)
Creates new recurring promise. You must pass the factory function to the constructor. This factory is used when looping.
repre.loop()
The factory function will create the promise
that it is tried to resolve; in case of rejection,
another try is done after step
ms, over and over.
repre.stop()
Signals the actually looping promise that it should not
start another iteration in case of rejection; and returns it.
This signals that looping should stop, and the original promise
(as well as .stop()
which just returns it) evetually either
resolve or reject.
Calling stop()
for already noniterating (resolved
or stopped before) Repre is safe and immediately resolves.
repre.stopAndForget()
Returns repre.stop().catch(noop)
, that is,
stopAndForget
returns a promise which is
resolved whenever running promise is settled,
no matter if by resolving or by rejection.
Useful in functional tests, for example using WebDriver.
One sets up a scenario and then returns a Repre which
tries to read all things that eventually appear in a page
up to final assertions; plus setTimeout(() => repre.stop(), someTimeBeforeTestTimesOut)
.
That way, things are tried until either resolved,
or they are rejected (with correct error) just before test would time out.
It is also good to call repre.stopAndForget().then(...)
in afterEach
.