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

q-jscex

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

q-jscex

Async/Await syntax support for Q promises

  • 0.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

q-jscex

Synopsis

// Drop-in replacement to require('q')
var Q = require('q-jscex');
var HTTP = require('q-http');

// Shorthand to make typing easier
var $async = Q.async.$;

// Define an Async function with a special $await keyword in it
var fetch = eval($async(function(url) {
    // $await takes anything that returns a Q Promise
    var buf = $await( HTTP.read(url) );
    // ...pauses one second...
    $await( Q.delay(1000) );
    // ...do something with the returned buffer...
    return buf;
}));

// Return value of Async functions is always a Q Promise
fetch('http://.../').done(...).fail(...).fin(...);

Demo (HTML5 Canvas required)

http://audreyt.github.com/q-jscex/samples/sorting-animations.html

Description

This module exports a Q root object (Q) containing a Q.async.$ helper; it compiles a regular function into one that returns a Q Promise object.

Functions defined with Q.async.$ has access to an extra $await keyword, which implicitly waits for other Q Promise objects.

Please see example.js for awaiting multiple promises with Q.all, and type make demo to see it in action.

The source code is in src directory and written in LiveScript. Note that LiveScript is not a runtime dependency of this module; it's only used for development.

For use in client-side browser environments, please see examples in the samples directory.

The underlying JIT compiler is available as the Q.async.$.Jscex object.

See Also

CC0 1.0 Universal

To the extent possible under law, 唐鳳 has waived all copyright and related or neighboring rights to q-jscex.

This work is published from Taiwan.

http://creativecommons.org/publicdomain/zero/1.0

Keywords

FAQs

Package last updated on 16 Jun 2012

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