Module: promise-nodeify

(require("promise-nodeify"))(promisenon-null, callbackopt, nullable) → {Promise.<ValueType>|undefined}

Calls a node-style callback when a Promise is resolved or rejected. This function provides the behavior of then nodeify, when.js node.bindCallback, or bluebird Promise.prototype.nodeify (now Promise.prototype.asCallback) (without options). @ template ValueType
Parameters:
Name Type Attributes Description
promise Promise.<ValueType> Promise to monitor.
callback function <optional>
<nullable>
Node-style callback to be called when promise is resolved or rejected. If promise is rejected with a falsey value the first argument will be an instance of Error with a .cause property with the rejected value.
Source:
Returns:
undefined if callback is a function, otherwise a Promise which behaves like promise (currently is promise, but is not guaranteed to remain so).
Type
Promise.<ValueType> | undefined

Methods

(static) delegated(promisenon-null, callbackopt, nullable) → {Promise.<ValueType>|undefined}

A version of promiseNodeify which delegates to the .nodeify method on promise, if present. This may be more performant than {@see promiseNodeify} and have additional implementation-specific features, but the behavior may differ from promiseNodeify and between Promise implementations. Note that this function only passes the callback argument to .nodeify, since additional arguments are interpreted differently by different libraries (e.g. bluebird treats the next argument as an options object while then treats it as this for the callback). @ template ValueType
Parameters:
Name Type Attributes Description
promise Promise.<ValueType> Promise to monitor.
callback function <optional>
<nullable>
Node-style callback.
Source:
Returns:
Value returned by .nodeify. Known implementations return the promise argument when callback is falsey and either promise or undefined otherwise.
Type
Promise.<ValueType> | undefined

(static) nodeifyThis(callbackopt, nullable) → {Promise.<ValueType>|undefined}

Polyfill for Promise.prototype.nodeify which behaves like promiseNodeify. @ template ValueType
This:
  • {!Promise.<ValueType>}
Parameters:
Name Type Attributes Description
callback function <optional>
<nullable>
Node-style callback.
Source:
Returns:
undefined if callback is a function, otherwise a Promise which behaves like promise (currently is promise, but is not guaranteed to remain so).
Type
Promise.<ValueType> | undefined