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

@open-draft/until

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@open-draft/until - npm Package Compare versions

Comparing version 1.0.2 to 1.0.3

4

package.json
{
"name": "@open-draft/until",
"version": "1.0.2",
"version": "1.0.3",
"description": "Gracefully handle a Promise using async/await.",
"main": "lib/index.js",
"repository": "git@github.com:open-draft/until.git",
"repository": "open-draft/until",
"author": "Artem Zakharchenko <kettanaito@gmail.com>",

@@ -8,0 +8,0 @@ "license": "MIT",

@@ -5,4 +5,35 @@ [![Build status](https://circleci.com/gh/open-draft/until.svg?style=shield)](https://circleci.com/gh/open-draft/until)

Gracefully handle a Promise using async/await.
Gracefully handle a Promise using `async`/`await`.
## Why?
With the addition of `async`/`await` keywords in ECMAScript 2017 the handling of Promises became much easier. However, one must keep in mind that the `await` keyword provides no standard error handling API. Consider this usage:
```js
function getUser(id) {
const data = await fetchUser(id)
// Work with "data"...
}
```
In case `fetchUser()` throws an error, the entire `getUser()` function's scope will terminate. Because of this, it's recommended to implement error handling using `try`/`catch` block wrapping `await` expressions:
```js
function getUser(id)
let data = null
try {
data = await asyncAction()
} catch (error) {
console.error(error)
}
// Work with "data"...
}
```
While this is a semantically valid approach, constructing `try`/`catch` around each awaited operation may be tedious and get overlooked at times. Such error handling also introduces separate closures for execution and error scenarios of an asynchronous operation.
This library encapsulates the `try`/`catch` error handling in a utility function that does not create a separate closure and exposes a NodeJS-friendly API to work with errors and resolved data.
## Getting started

@@ -16,3 +47,3 @@

### Use
### Usage

@@ -58,1 +89,5 @@ ```js

```
## Special thanks
- [giuseppegurgone](https://twitter.com/giuseppegurgone) for discussing the original `until` API
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