-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