Ich habe eine einfache Versprechen:Wickel Versprechen + dann in neue Versprechen
function p(l) {
return new Promise(function(resolve) {
alert(l);
resolve();
});
}
ich dann versuchen, ein Versprechen zu erstellen, die nur zu lösen, nachdem es dann Klausel:
function pp(l1, l2) {
return new Promise(function(resolve) {
p(l1).then(() => {
alert(l2);
resolve();
});
});
}
ich jetzt tun:
p('start').then(pp('A', 'B')).then(p('end'));
ich erwartet hatte, um zu sehen: Start, A, B, Ende
sondern ich sehe: Start, A, Ende, B
Warum?
Wie kann ich erreichen, was ich will, ein Versprechen (pp) erstellen, das löst, wenn es dann beendet ist? versuchen
'.then (() => pp ('A', 'B')) wird Ihr Problem beheben. Eine detaillierte Antwort geben. – coyotte508
Dies gibt Ihnen die gewünschte Sequenz ** p ('start'). Dann (p ('A')). Dann (p ('B')). Dann (p ('End')); ** Aber wenn du ein Versprechen hast, das ** nichts ** auflöst, macht es keinen Sinn. Sie können das gleiche mit Alarm ('Start'), Alarm ('A'), Alarm ('B'), Alarm ('Ende'); Es macht wirklich keinen Sinn, ein Versprechen zu haben, das nichts auflöst. – Hosar
coyotte508 - nein, das gibt mir: Start, Ende, A, B – kofifus