Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A solid, fast Promises/A+ and when() implementation, plus other async goodies.

License

NotificationsYou must be signed in to change notification settings

cujojs/when

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Promises/A+ logo

Build StatusInline docs

when.js

When.js is a rock solid, battle-testedPromises/A+ andwhen() implementation, including a completeES6 Promise shim. It's a powerful combination of small size, high performance, debuggability, and rich features:

  • Resolve arrays and hashes of promises, as well as infinite promise sequences
  • Execute tasks in parallel or sequentially
  • Transform Node-style and other callback-based APIs into promise-based APIs

When.js is one of the many stand-alone components ofcujoJS, the JavaScript Architectural Toolkit.

Check it out:

Installation

AMD

Available aswhen throughbower, or just clone the repo and loadwhen.js from the root.

bower install --save when

CommonJS/Node

npm install --save when

More help & other environments »

Usage

Promises can be used to help manage complex and/or nested callback flows in a simple manner. To get a better handle on how promise flows look and how they can be helpful, there are a couple examples below (using commonjs).

This first example will print"hello world!!!!" if all went well, or"drat!" if there was a problem. It also usesrest to make an ajax request to a (fictional) external service.

varrest=require('rest');fetchRemoteGreeting().then(addExclamation).catch(handleError).done(function(greeting){console.log(greeting);});functionfetchRemoteGreeting(){// convert native Promise to a when.js promise for 'hello world'varresult=rest('http://example.com/greeting');returnwhen(result)}functionaddExclamation(greeting){returngreeting+'!!!!'}functionhandleError(e){return'drat!';}

The second example shows off the power that comes with when's promise logic. Here, we get an array of numbers from a remote source and reduce them. The example will print150 if all went well, and if there was a problem will print a full stack trace.

varwhen=require('when');varrest=require('rest');when.reduce(when.map(getRemoteNumberList(),times10),sum).done(function(result){console.log(result);});functiongetRemoteNumberList(){// Get a remote array [1, 2, 3, 4, 5]returnrest('http://example.com/numbers').then(JSON.parse);}functionsum(x,y){returnx+y;}functiontimes10(x){returnx*10;}

License

Licensed under MIT.Full license here »

Contributing

Please see thecontributing guide for more information on running tests, opening issues, and contributing code to the project.

References

Much of this code was inspired by the async innards ofwire.js, and has been influenced by the great work inQ,Dojo's Deferred, anduber.js.

About

A solid, fast Promises/A+ and when() implementation, plus other async goodies.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp