setTimeout(console.log("A"), 1000);
setTimeout(console.log("B"), 0);
console.log("C");
console.log("D");
// ordre : C D B A
function additionAsync(a, b, callback) {
callback(a+b);
}
console.log("A");
additionAsync(1, 2, result => console.log("Res: ${result}"));
console.log("C");
// ordre : A ${result} C
function additionAsync(a, b, callback) {
setTimeout(callback(a+b), 1000);
}
console.log("A");
additionAsync(1, 2, result => console.log("Res: ${result}"));
console.log("C");
// ordre : A C ${result}
Remplaçant des callbacks pour éviter le “callback hell”
L'objet Promise représente l'achèvement éventuel (ou l'échec) d'une opération asynchrone et la valeur qui en résulte.
resources : mozilla

Alternative au promesse
Permet de transformer une fonction en promesse
function hello() {
console.log("Hello");
}
async function world() {
console.log("world");
}
hello();
world();
// sortie :
async function foo() {
return 1;
}
function foo() {
return Promise.resolve(1);
}