The Wayback Machine - https://web.archive.org/web/20200905161201/https://github.com/InterAl/wait-for-cond/
Skip to content
master
Go to file
Code

Latest commit

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
Feb 21, 2017
Jul 20, 2017
Jul 25, 2019

README.md

wait-for-cond

Wait until a condition is satisfied. Useful for testing.

Installation

$ npm i -S wait-for-cond

Usage

The promise resolves if the condition is met at least once in the specified duration, and rejects otherwise.

var waitFor = require('wait-for-cond');

var someCondition = true;

waitFor(function() {
    return someCondition;
}, 2000, 'an optional reject message')
.then(function() {
    console.log('condition is fulfilled.');
})
.catch(function() {
    console.error('condition was not fulfilled in time.');
});

The condition result can also be wrapped in a promise.

var waitFor = require('wait-for-cond');

var someCondition = true;

waitFor(function() {
    return new Promise(function(resolve) {
        return resolve(someCondition);
    });
}, 2000, 'an optional reject message')
.then(function() {
    console.log('condition is fulfilled.');
})
.catch(function() {
    console.error('condition was not fulfilled in time.');
});

waitFor.hold resolves if the condition remains satisfied for the entire duration, and rejects otherwise.

var waitFor = require('wait-for-cond');

var someCondition = true;

waitFor.hold(function() {
    return new Promise(function(resolve) {
        return someCondition;
    });
}, 2000, 'an optional reject message')
.then(function() {
    console.log('condition remained satisfied for 2000ms');
})
.catch(function() {
    console.error('condition was unsatisfied during the 2000ms duration');
});

Eventual assertions

The promise resolves if the assertion was fulfilled at least once in the specified duration, and rejects otherwise.

var assert = require('assert');
var waitFor = require('wait-for-cond');

var someCondition = true;

waitFor.assert(function() {
    assert(someCondition);
}, 2000)
.then(function() {
    console.log('assertion succeeded in time.');
})
.catch(function() {
    console.log('assertion did not succeed in time.');
});

Eventual holding assertions

The promise resolves if the assertion remains fulfilled for the entire specified duration, and rejects otherwise.

var assert = require('assert');
var waitFor = require('wait-for-cond');

var someCondition = true;

waitFor.assertHold(function() {
    assert(someCondition);
}, 2000)
.then(function() {
    console.log('assertion was held for the entire duration.');
})
.catch(function() {
    console.log('assertion failed in the specified duration.');
});

About

Wait until a condition is satisfied

Topics

Resources

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.