Promise Chains, Promise All and Async-Await

Run Settings
LanguageJavaScript
Language Version
Run Command
function pushData(data){ return new Promise(function(resolve,reject){ console.time(data); setTimeout(function(){ console.log(data); console.timeEnd(data); resolve("Received " + data); }, 1000 + ( Math.random() * 1000 ) ); }); } async function saveDatasAsync(){ var msg1 = await pushData("DataAsync1"); var msg2 = await pushData("DataAsync2"); var msg3 = await pushData("DataAsync3"); return [ msg1, msg2, msg3 ]; } function saveDatasPromiseAll(){ return Promise.all( [pushData("Data1"), pushData("Data2"), pushData("Data3") ]); } function saveDatasPromiseChain(){ return new Promise(function(resolve,reject){ }); } function runPromiseAll(){ return new Promise(function(resolve, reject){ var label = "PromiseAllRun"; console.log( label ); console.time(label); saveDatasPromiseAll() .then(function(datas){ console.log(datas); console.timeEnd(label); console.log( "END ", label ); resolve(); }); }); } function runPromiseAsync(){ return new Promise(async function(resolve,reject){ var label = "AsyncRun"; console.log( label ); console.time(label); var result = await saveDatasAsync(); console.timeEnd(label); console.log( result ); console.log( "END ", label ); resolve(); }); } function run(){ runPromiseAll().then(runPromiseAsync); } run();
Editor Settings
Theme
Key bindings
Full width
Lines