waitfor-condition

0.0.2 • Public • Published

waitfor-condition

A simple utility that resolves a promise when a custom condition is met or until timeout.

Example

The following example will start a wiremock server and continue only when it is started properly.

var waitForCondition = require('waitfor-condition');
var request = require('request');
var child_process = require('child_process');
 
child_process.exec('java -jar ./lib/wiremock-standalone.jar --your-options', 
    function() {
        waitForCondition(function (cb) {
            request('http://localhost:1235/service/your-mock-service', function (error, response) {
                cb(!error && response.statusCode === 200);
            });
        }).then(function() {
            // wiremock started, continue...
        });
    }
);

Options

There are two ways to invoke waitfor-condition:

Basic:

waitForCondition(function(cb) { /* cb(condition satisfied boolean)  */ }, [timeoutMs], [intervalMs])

Config object:

waitForCondition({
  before: function() { },
  condition: function(cb) { /* cb(condition satisfied boolean)  */},
  after: function(succes) { },
  interval: 500ms, // default is 500
  timeout: 60000ms, // default is 1 minute
  verbose: false, // default is true (false silences logging)
})

Package Sidebar

Install

npm i waitfor-condition

Weekly Downloads

2

Version

0.0.2

License

MIT

Last publish

Collaborators

  • bbottema