-1
私は約束と約束を理解しようとしています。 私の理解によれば、次のコードは 'hello!'を出力する必要があります。コンソールに接続します。しかし、それはしません。 誰もがなぜこのようなことが起こっているのか、それを行う正しい方法は何かを説明できますか?なぜこの「Promise Chaining」は機能しませんか?
function func01() {
console.log('func01');
return new Promise(function(){
console.log('promise');
setTimeout(function(){
console.log('st');
return 'hello !'
},5000);
}).then(function(data){
console.log('then01');
return data;
});
}
function func02() {
console.log('func02');
return func01().then(function(data){
console.log('then02');
return data;
})
}
function func03() {
console.log('func03');
func02().then(function(data){
console.log('then03');
console.log(data);
});
}
func03();
ヒント:setTimeout' '経由で呼び出される関数の戻り値は無視されます。 'Promise'コンストラクタが提供するパラメータ(' resolve、reject')を使い、 'resolve'を呼び出す必要があります。 – jcaron
約束をどのように作成するかについて少し読んでみると良いスタートになるでしょう。質問はあなたがそのトピックを研究したことを実証するはずです。 – trincot