# promise.defer

> Lightweight Promise.defer implementation

Latest version **2.0.0** (published 2020-06-19) · MIT license · 0 weekly downloads

## Install

```sh
npm install promise.defer
pnpm add promise.defer
yarn add promise.defer
bun add promise.defer
```

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.0 |
| Published | 2020-06-19 |
| First published | 2017-03-02 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >= 8 |
| Dependencies | 0 |
| Unpacked size | 4.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 3 |
| Author | steelbrain |
| Maintainers | steelbrain |

## Links

- npm: https://www.npmjs.com/package/promise.defer
- Repository: https://github.com/steelbrain/promise.defer
- Homepage: https://github.com/steelbrain/promise.defer#readme
- Issues: https://github.com/steelbrain/promise.defer/issues
- npm.io page: https://npm.io/package/promise.defer

## Recent versions

- 2.0.0 (latest) — 2020-06-19
- 1.0.1 — 2017-04-20
- 1.0.0 — 2017-03-02

## README

# Promise.defer

`promise.defer` is a lightweight NPM package that allows you to create promise synchronously.

## Installation

```
npm install --save promise.defer
```

## API

```ts
type Deferred<T> = {
  reject(err: Error): void;
  resolve(value: T): void;
  promise: Promise<T>;
}

export default function promiseDefer(): Deferred;
```

## Example Usage

```js
import fs from 'fs'
import promiseDefer from 'promise.defer'

export default function doSomething() {
  const deferred = promiseDefer()
  fs.readFile('/etc/passwd', function(error, contents) {
    if (error) {
      deferred.reject(error)
    } else {
      deferred.resolve(contents)
    }
  })
  return deferred.promise
}
```

CommonJS consumers may need to import it like:

```js
const {default: promiseDefer} = require('promise.defer')
```

## License

This package is licensed under the terms of MIT License. See the LICENSE file for more info.

---
_Source: https://npm.io/package/promise.defer · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
