1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| "use strict";
|
| var ensurePlainFunction = require("../../object/ensure-plain-function")
| , ensureThenable = require("../../object/ensure-thenable")
| , microtaskDelay = require("../../function/#/microtask-delay");
|
| module.exports = function (callback) {
| ensureThenable(this);
| ensurePlainFunction(callback);
| // Rely on microtaskDelay to escape eventual error swallowing
| this.then(
| microtaskDelay.call(function (value) {
| callback(null, value);
| }),
| microtaskDelay.call(function (reason) {
| callback(reason);
| })
| );
| };
|
|