promise-rs

Crates.iopromise-rs
lib.rspromise-rs
version0.3.0
sourcesrc
created_at2017-03-16 00:32:21.703497
updated_at2017-04-09 10:56:33.568616
descriptionRust Promise library
homepage
repositoryhttps://github.com/stan-kondrat/promise-rs
max_upload_size
id8991
size11,088
Stan Kondrat (stan-kondrat)

documentation

https://docs.rs/promise-rs

README

Rust Promise library

Build Status Crates.io

Under the hood, executor spawn new thread at each time when Promise::new(executor) invoked.

Documentation https://docs.rs/promise-rs

Usage

extern crate promise;
use promise::Promise;

fn main() {
  let mut promise = Promise::new(|resolve, reject| {
    // do something
    let result: Option<String> = Some("resolve result".to_string());
    resolve(result);
  });

  promise
    .then(|value| { /* on fulfilled */ None }, |reason| { /* on rejected */ None })
    .catch(|reason| { /* on rejected: */ None });
}

Motivation

Best way to begin learning a new language is start write own library. As I came from front-end world, will create yet another Promise library for Rust.

Links

  1. JavaScript Promise Syntax
  2. Zero-cost futures and streams in Rust
  3. Asynchronous promises in rust using threads
Commit count: 13

cargo fmt