Quick actions

cmd+k|ctrl+k

Navigation

Languages

Mapping - Async vs non Async

Snippet info

Language

JavaScript

Visibility

public

Author

horngyih

Created

2018-10-10T03:26:35Z

Updated

2018-10-10T03:43:40Z

function slowDouble( value ){
    return new Promise( resolve =>{
        setTimeout( ()=>{
            resolve(value*2);
        }, 3000 );
    });
}

function nonAsyncDouble( value ){
    console.log( value );
    return value * 2;
}

async function double( value ){
    console.log( value );
    let result = await slowDouble( value );
    return result;
}

console.time( "promise" );
slowDouble(2).then( i=>{ console.log( "Promise ", i ); console.timeEnd( "promise" ); } );

console.time( "async" );
console.log( double(2) );
console.timeEnd("async");

console.time( "map" );
let doubled = [1,2,3].map( nonAsyncDouble );
console.log( "NonAsyncDouble ", doubled );
console.timeEnd("map");

console.time( "mapAsync" );
let doubledAsync = [1,2,3].map( function(i) { return double(i)  });
console.log( "AsyncDouble ", doubledAsync );
console.timeEnd( "mapAsync" );
INFO