promise
Version, currently 2.0.02 versions
- 2.0.0latestApr 23, 2020
- 1.0.0not indexedApr 23, 2020
github.com/jwaldrip/promise.cr
A Promise Implementation in Crystal.
32 stars
0 dependents
License: MIT
Installation
# Add this to your shard.yml
dependencies:
promise:
github: jwaldrip/promise.cr
version: ~> 2.0.0Then run:
shards installshard.yml
- Crystal
0.34.0- License
- MIT
- Author
- Jason Waldrip <jason@waldrip.net>
Dependencies
This version declares no dependencies.
README
# Promise.cr [](https://travis-ci.org/jwaldrip/promise.cr) [](https://github.com/jwaldrip/promise.cr/releases) [](https://jwaldrip.github.com/promise.cr)
A Promise Implementation in Crystal.
## Installation
Add `promise` to the shard.yml file as a dependency.
```yml
# shard.yml
dependencies:
promise:
github: jwaldrip/promise.cr
tag: {desired_tag}
```
## Usage
```crystal
require "promise"
require "http/client"
require "json"
def read_body(response : HTTP::Client::Response) : String
response.body
end
request = Promise(HTTP::Client::Response | JSON::Any).execute do |resolve|
HTTP::Client.get "https://httpbin.org/user-agent"
end
puts "do something else...."
request.then do |response|
JSON.parse(read_body(response as HTTP::Client::Response))
end.catch do |ex|
puts "caught!"
puts ex.message
end.then do |json_hash|
puts json_hash
end.await
```
## Documentation
You can generate docs using `crystal doc` on your local machine,
or visit: https://jwaldrip.github.com/promise-cr to view the current version's
documentation.
## Contributing
See [CONTRIBUTING](/CONTRIBUTING.md)
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
2.0.0- Tagged
- Apr 23, 2020
- Commit
0393d00be577- Crystal
0.34.0- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/jwaldrip/promise.cr
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 13, 2026
- Synced
- Aug 12, 2026
- Versions
- 2