我使用 Promise 來做一個 http 帖子。我可以看到結果已經在里面輸出了then()。以后如何訪問data?試過resultPromise.then(),沒有產生相同的結果。
let resultPromise =
fetch(cleanUrl, {
method: 'POST', // or 'PUT'
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(body),
})
.then(response => response.json())
.then(data => {
console.log('Success:', data);
})
.catch((error) => {
console.error('Error:', error);
});
resultPromise.then(data => {
console.log('Success2:', data);
});
uj5u.com熱心網友回復:
.then(data => {
console.log('Success:', data);
})
由于這里沒有回傳值,它創建的承諾決議為undefined. 要么洗掉它.then(在這種情況下,前一個.then將確定值),或者讓它重新回傳資料。
.then(data => {
console.log('Success:', data);
return data;
})
該.catch塊可能需要類似的處理。當前正在吞并任何錯誤并替換為決議到undefined. 如果要重新拋出錯誤,請執行以下操作之一:
.catch((error) => {
console.error('Error:', error);
throw error;
});
// or
.catch((error) => {
console.error('Error:', error);
return Promise.reject(error);
});
uj5u.com熱心網友回復:
let data
const resultPromise = async () => {
try {
data = await fetch(cleanUrl, {
method: 'POST', // or 'PUT'
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(body),
})
} catch (err) {
console.error('Error:', error);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/371099.html
標籤:javascript 承诺
下一篇:如何獲取.txt檔案內容JS
