chenyc
2025-12-09 65e034683b28d799e73c7d7e5e4769fab5b9bc9c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
"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); })
    );
};