Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
MR414N-ID
GitHub Repository: MR414N-ID/botku2
Path: blob/master/node_modules/asynckit/lib/async.js
1126 views
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
}
35
36