blob: ba310b35787977f50b047d1f2b9b5301f3de65c8 [file] [log] [blame]
"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); })
);
};