Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

co-task

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

co-task

co wrapper as Task.jsm API

  • 1.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
72
decreased by-35.71%
Maintainers
1
Weekly downloads
 
Created
Source

co-task Build Status

co wrapper as Task.jsm API. Task.jsm is a subset of task.js for use inside Mozilla.

Setup

co-task requires harmony generators and native Promise, so running node >= 0.11.2 is required with the --harmony flag.

Install via npm

$ npm install co-task --save

And running with --harmony flags in node, say file.js consumes co-task, run via:

$ node --harmony file.js

API

Task.spawn(generatorFn)

The "Task.spawn" function takes a generator function and starts running it as a task. Every time the task yields a promise, it waits until the promise is fulfilled. "Task.spawn" returns a promise that is resolved when the task completes successfully, or is rejected if an exception occurs.

function fetchUserData (user) {
  return Task.spawn(function* () {
    var user = yield getUser();
    return yield getDataForUser(user);
  });
});

fetchUserData("big foot").then(function (data) {
  console.log(data);
});

Task.async(generatorFn)

Create and return an 'async function' that starts a new task. This is similar to 'spawn' except that it doesn't immediately start the task, it binds the task to the async function's 'this' object and arguments, and it requires the task to be a function. It simplifies the common pattern of implementing a method via a task, like this simple object with a 'greet' method that has a 'name' parameter and spawns a task to send a greeting and return its reply.

let greeter = {
  message: "Hello, NAME!",
  greet: Task.async(function* (name) {
    return yield sendGreeting(this.message.replace(/NAME/, name));
  })
};

Development

npm test

License

MIT License, Copyright (c) 2014 Jordan Santell

FAQs

Package last updated on 15 Oct 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc