"Fossies" - the Fresh Open Source Software Archive

Member "Atom/resources/app/apm/node_modules/asynckit/lib/async.js" (8 Mar 2017, 599 Bytes) of archive /windows/misc/atom-windows.zip:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Javascript source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 var defer = require('./defer.js');
    2 
    3 // API
    4 module.exports = async;
    5 
    6 /**
    7  * Runs provided callback asynchronously
    8  * even if callback itself is not
    9  *
   10  * @param   {function} callback - callback to invoke
   11  * @returns {function} - augmented callback
   12  */
   13 function async(callback)
   14 {
   15   var isAsync = false;
   16 
   17   // check if async happened
   18   defer(function() { isAsync = true; });
   19 
   20   return function async_callback(err, result)
   21   {
   22     if (isAsync)
   23     {
   24       callback(err, result);
   25     }
   26     else
   27     {
   28       defer(function nextTick_callback()
   29       {
   30         callback(err, result);
   31       });
   32     }
   33   };
   34 }