gens
v1.1.0
Published
Experimental usage of generators for continuables
Downloads
11
Readme
gens
Experimental usage of generators for continuables
async
takes a generator and returns a continuable. It's expected that
the values you yield are continuables themself.
Example
// run this with --use-strict --harmony on node v0.11.3
let Redis = require("redis")
let console = require("console")
let async = require("gens")
let parallel = require("gens/parallel")
let client = Redis.createClient()
async(function* () {
yield client.hmset.bind(client, "blog::post", {
date: "20130605",
title: "g3n3rat0rs r0ck",
tags: "js,node"
})
let post = yield client.hgetall.bind(client, "blog::post")
let tags = post.tags.split(",")
let taggedPosts = yield parallel(tags.map(function (tag) {
return client.hgetall.bind(client, "post::tag::" + tag)
}))
return { post: post, taggedPosts: taggedPosts }
})(function (err, result) {
if (err) {
throw err
}
console.log("post", result.post, "taggedPosts", result.taggedPosts)
client.quit()
})
Installation
npm install gens
Contributors
- Raynos