2016-06-20 19 views
2

Ich weiß das nicht sehr albern, aber wie man eine Versprechenskette beginnt? Ich habe zum BeispielWie man ein Versprechen hält

var p = new Promise(function(resolve,reject) { 
    setTimeout(function() { 
    return resolve("Hi from promise after timeout"); 
    },1000); 
}); 

Wie wird es ausgeführt? Es sollte so sein,

when(p) 
.then(function(msg) { 
    console.log(msg); 
}) 
.catch(function(error) { 
    console.error(error); 
}); 

Aber when ist nicht definiert.

+0

Versprechungen sind nicht "run" oder "gestartet". Sie sind einfache Werte, die das Ergebnis einer bereits laufenden asynchronen Operation ('setTimeout' in Ihrem Fall) darstellen, die beim Erstellen der Zusage gestartet wird. – Bergi

Antwort

5

Sie brauchen nur zu tun:

p.then(function(msg) { 
    console.log(msg); 
}) 
.catch(function(error) { 
    console.error(error); 
}); 
+0

Vielen Dank! Vielen Dank. – Kasheftin