when
A solid, fast Promises/A+ and when() implementation, plus other async goodies. (by cujojs)
step
An async control-flow library that makes stepping through logic easy. (by creationix)
Our great sponsors
when | step | |
---|---|---|
3 | 1 | |
3,440 | 2,211 | |
-0.2% | - | |
1.8 | 0.0 | |
about 2 years ago | over 6 years ago | |
JavaScript | JavaScript | |
GNU General Public License v3.0 or later | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
when
Posts with mentions or reviews of when.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-07-02.
-
If you are making a library, take a good look at this list!
looking at you "When"!
-
I made a small library for handling async events in a type-safe fashion
If you're wondering, number 2 has happened to me years ago, and required debugging a Promises library (back when Promises weren't native): https://github.com/cujojs/when/issues/325
-
Introduction to Asynchronous JavaScript
Promises are a popular way of getting rid of callback hell. Originally it was a type of construct introduced by JavaScript libraries like Q and when.js, but these types of libraries became popular enough that promises are now provided natively in ECMAScript 6.
step
Posts with mentions or reviews of step.
We have used some of these posts to build our list of alternatives
and similar projects.
-
Easy UI testing with Cypress
import { When, Then, Given } from '@badeball/cypress-cucumber-preprocessor'; Given(`I've opened the npm.com`, () => { cy.visit('https://www.npmjs.com/'); cy.intercept('GET', 'https://www.npmjs.com/search/suggestions?q=step', [ { name: 'step', scope: 'unscoped', version: '1.0.0', description: 'Test', date: '2017-01-06T21:16:57.341Z', links: { npm: 'https://www.npmjs.com/package/step' }, author: { name: 'John Smith', email: '[email protected]', username: 'test' }, publisher: { username: 'test', email: '[email protected]' }, maintainers: [{ username: '[email protected]', email: '[email protected]' }], }, ]).as('getResults'); }); When('I typed a phrase in the search field', () => { cy.get('input[name="q"]').type('step'); }); Then('I should see the results in the dropdown menu', () => { cy.wait('@getResults'); cy.get('ul[role="listbox"] li').should('have.length', 1).should('have.text', 'stepTest1.0.0'); });
What are some alternatives?
When comparing when and step you can also consider the following projects:
Bluebird - :bird: :zap: Bluebird is a full featured promise library with unmatched performance.
q - A promise library for JavaScript
cfssl - CFSSL: Cloudflare's PKI and TLS toolkit
contra - :surfer: Asynchronous flow control with a functional taste to it
async - Async utilities for node and the browser
ObjectEventTarget - A same behaviour EventTarget prototype, that can work with any object from JavaScript
Javascript State Machine - A javascript finite state machine library
modern-async - A modern JavaScript tooling library for asynchronous operations using async/await, promises and async generators