Skip to content
This repository has been archived by the owner on Sep 20, 2021. It is now read-only.

Latest commit

 

History

History
41 lines (27 loc) · 1.31 KB

README.md

File metadata and controls

41 lines (27 loc) · 1.31 KB

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