0
私はES6約束を理解しようとしています。私のECMA 6の約束が同期の方法で解決されない
var function1 = function() {
console.log("function 1 has started")
}
var function2 = new Promise((resolve, reject) => {
console.log("function2 has started");
setTimeout(function() {
console.log("function2 has ended")
resolve();
}, 3000)
})
var function3 = new Promise((resolve, reject) => {
console.log("function3 has started");
setTimeout(function() {
console.log("function 3 has ended")
resolve()
},2000)
})
var myFunc = function() {
function3.then(function2).then(function1())
}
myFunc();
私は期待出力::私は、このコードの実行を取得しようとしました
function3 has started
//after 2 seconds
function3 has ended
function2 has started
//after 3 seconds
function2 has ended
function1 has started
出力私が取得:
function2 has started
function3 has started
function1 has started
//after 2 seconds
function3 has ended
//1 second more
function2 has ended
あなたは私が私のコードで間違っていたものを私に説明してもらえ?心に留めておくべき
ありがとうございます。これは明らかです。私が期待している出力を得るためにコードをどのようにリファクタリングすればよいですか? ( – Pechou
期待された出力を生成するコードのバージョンを追加しました。第2の約束は、最初のものが成立した(タイマーが順番に実行される)両方の約束が最初に構築された(タイマーが並行して実行される) – Jens
乾杯!多くの感謝を助ける、私はポイントを得た! – Pechou