async-try

async-try, helper module to debug asyncronous code.

Usage no npm install needed!

<script type="module">
  import asyncTry from 'https://cdn.skypack.dev/async-try';
</script>

README

async-try, helper module to debug asyncronous code.

usage:

var TRY = require("async-try").TRY;

var waitForIt = function(time, callback){
    console.log("this module is legen...");
    console.log("...wait for it...");
    if ( time > 3 ){
        setTimeout(function(){
            console.log("...dary");
            callback(null, "legendary!");
        }, time*1000 );
    } else {
        callback("need more patience");
    }
};

var waitFor = function(time){
    return function(callback) {
        waitForIt(time, callback);
    }
}

TRY( "waiting for it", waitFor(5),  console.log, function(result){
    console.log("This module is " + result);
})

var dontWait = function(callback){
    TRY( "pretending to wait for it", waitFor(2),  callback, function(result){
        console.log("This module is " + result);
    });
}

var logError = function(error){
    console.log("[ERROR] " + error);
}
TRY( "not waiting for it", dontWait,  logError, function(result){
    console.log("This module is " + result);
})

will output

this module is legen...
...wait for it...
this module is legen...
...wait for it...
[ERROR] need more patience
 | While pretending to wait for it at: dontWait (C:\Path\to\file.js:27:2)
 | While not waiting for it at: Object.<anonymous> (C:\Path\to\file.js:35:1)
...dary
This module is legendary!