Blame view

node_modules/es5-ext/promise/#/as-callback.js 542 Bytes
aaac7fed   liuqimichale   add
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);
  		})
  	);
  };