Skip to content
This repository has been archived by the owner on Aug 8, 2020. It is now read-only.
/ co-callback Public archive

callback friendly `co` generator async control flow goodness

License

Notifications You must be signed in to change notification settings

smallhelm/co-callback

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deprecated!

This is an outdated solution. Use async/await instead.

co-callback

build status

callback friendly co for generator async control flow

Example

var fs = require("fs");
var cocb = require("co-callback");

var readFileYieldable = cocb.wrap(fs.readFile);

cocb.run(function*(){

    var file1 = yield readFileYieldable("./package.json", "utf8");
    var file2 = yield readFileYieldable("./index.js", "utf8");

    return file1 + file2;
}, function(err, txt){

    console.log(txt);

});

This simply outputs package.json concatenated with index.js

API

cocb.run(fn*, callback)

Run the generator function, callback when finished.

cocb.isGeneratorFunction(v)

return true if it is a generator function

cocb.wrap(fn_with_callback) or cocb.wrap(fn*)

Converts a callback function, or generator into one you can yield. (i.e. a Promise function - see co.wrap)

For example:

var foo = cocb.wrap(function(a, b, callback){
   // some callback async stuff...
});

var bar = cocb.wrap(function * (one, two){
   // some yield async stuff...
});

cocb.run(function*(){

    yield foo("a", "b")
    yield bar(1, 2)

}, callback);

License

MIT

About

callback friendly `co` generator async control flow goodness

Resources

License

Stars

Watchers

Forks

Packages

No packages published