In einigen Fällen muss ich, wenn ich einen Rückgabewert von einem Versprechungsobjekt erhalte, zwei verschiedene then()
Vorgänge starten, die von der Bedingung des Werts abhängen, wie z.
promise().then(function(value){
if(//true) {
// do something
} else {
// do something
}
})
Ich denke, vielleicht kann ich es so schreiben:
promise().then(function(value){
if(//true) {
// call a new function which will return a new promise object
ifTruePromise().then();
} else {
ifFalsePromise().then();
}
})
Damit habe ich zwei Fragen:
Ich bin mir nicht sicher, ob es eine gute Idee ist, ein neues Versprechen zu starten und dann ein Versprechen zu verarbeiten.
Was ist, wenn ich die beiden Prozesse brauche, um eine Funktion in der letzten aufzurufen? Es bedeutet, dass sie das gleiche "Terminal" haben
Ich habe versucht, das neue Versprechen zurückzugeben, die ursprüngliche Kette wie folgt beizubehalten:
promise().then(function(value){
if(//true) {
// call a new function which will return a new promise object
// and return it
return ifTruePromise();
} else {
// do something, no new promise
// hope to stop the then chain
}
}).then(// I can handle the result of ifTruePromise here now);
Aber in diesem Fall then
funktioniert der nächste, egal ob er wahr oder falsch ist .
Also, was ist die beste Vorgehensweise, um damit umzugehen?