| 12345678910111213141516171819202122232425 |
- 'use strict';
- var once = require('once');
- /**
- * Run a function asynchronously or synchronously
- * @param {Function} func Function to run
- * @param {Function} cb Callback function passed the `func` returned value
- * @...rest {Mixed} rest Arguments to pass to `func`
- * @return {Null}
- */
- module.exports = function (func, cb) {
- var async = false;
- var answer = func.apply({
- async: function () {
- async = true;
- return once(cb);
- }
- }, Array.prototype.slice.call(arguments, 2) );
- if (!async) {
- cb(answer);
- }
- };
|