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();