await-to-done
Version:
Async await wrapper for easy error handling
105 lines (73 loc) • 3.09 kB
Markdown
<div style="text-align: center;" align="center">
Async await wrapper for easy error handling
[![NPM version][npm-image]][npm-url]
[![Codacy Badge][codacy-image]][codacy-url]
![typescript][typescript-url]
[![Test coverage][codecov-image]][codecov-url]
[![npm download][download-image]][download-url]
[![gzip][gzip-image]][gzip-url]
[![License][license-image]][license-url]
[![Sonar][sonar-image]][sonar-url]
</div>
<div style="text-align: center; margin-bottom: 20px;" align="center">
**Read this in other languages: English | [简体中文](./README-zh_CN.md)**
</div>
```bash
$ pnpm install await-to-done
$ npm install await-to-done --save
```
1. ES6 module
```ts
import to from 'await-to-done'
const [err, data] = await to(/* promise function */)
```
2. Node.js require
```ts
const to = require('await-to-done')
const [err, data] = await to(/* promise function */)
```
```ts
import to from 'await-to-done'
const bar = () => new Promise<boolean>()
const foo = () => new Promise<string>()
const [err, data] = await to(bar(), foo()) // data = [boolean, string]
// or pass in an Array
const [err, data] = await to([bar(), foo()]) // data = [boolean, string]
```
```html
<script src="https://unpkg.com/await-to-done@latest/dist/index.global.prod.js"></script>
<script>
;(async () => {
const to = window.awaitToDone
const [err, data] = await to(/* promise function */)
})()
</script>
```
Please open an issue [here](https://github.com/saqqdy/await-to-done/issues).
[](LICENSE)
[]: https://img.shields.io/npm/v/await-to-done.svg?style=flat-square
[]: https://npmjs.org/package/await-to-done
[]: https://app.codacy.com/project/badge/Grade/f70d4880e4ad4f40aa970eb9ee9d0696
[]: https://www.codacy.com/gh/saqqdy/await-to-done/dashboard?utm_source=github.com&utm_medium=referral&utm_content=saqqdy/await-to-done&utm_campaign=Badge_Grade
[]: https://badgen.net/badge/icon/typescript?icon=typescript&label
[]: https://img.shields.io/codecov/c/github/saqqdy/await-to-done.svg?style=flat-square
[]: https://codecov.io/github/saqqdy/await-to-done?branch=master
[]: https://img.shields.io/npm/dm/await-to-done.svg?style=flat-square
[]: https://npmjs.org/package/await-to-done
[]: http://img.badgesize.io/https://unpkg.com/await-to-done/dist/index.global.prod.js?compression=gzip&label=gzip%20size:%20JS
[]: http://img.badgesize.io/https://unpkg.com/await-to-done/dist/index.global.prod.js?compression=gzip&label=gzip%20size:%20JS
[]: https://img.shields.io/badge/License-MIT-blue.svg
[]: LICENSE
[]: https://sonarcloud.io/api/project_badges/quality_gate?project=saqqdy_await-to-done
[]: https://sonarcloud.io/dashboard?id=saqqdy_await-to-done