@byungi/p-defer

A deferred promise.

Usage no npm install needed!

<script type="module">
  import byungiPDefer from 'https://cdn.skypack.dev/@byungi/p-defer';
</script>

README

@byungi/p-defer

A deferred promise.

Why?

This is useful when promise, resolve, and reject are used in various places.

Example

import pDefer from '@byungi/p-defer';

function loadImage(url){
  const defer = pDefer();
  const img = new Image()

  img.src = url
  img.onload = () => defer.resolve(img)
  img.onerror = () => defer.reject(new Error('Failed to load image.'))

  return defer.promise;
}

API

pDefer()

Returns a deferred promise.

defer.promise

Returns promise.

defer.resolve([value])

Resolve promise.

defer.reject([reason])

Reject promise.

License

MIT