新聞中心
then() 是 JavaScript 中 Promise 對象的一個方法,用于處理異步操作的結果,當 Promise 對象的狀態(tài)變?yōu)?resolved(成功)時,then() 方法會被調(diào)用,并將結果傳遞給指定的回調(diào)函數(shù)。then() 方法返回一個新的 Promise 對象,可以繼續(xù)鏈式調(diào)用其他 then() 方法或 catch() 方法。

then() 方法的基本用法
1、接收兩個參數(shù):第一個參數(shù)是 Promise 狀態(tài)變?yōu)?resolved 時執(zhí)行的回調(diào)函數(shù),第二個參數(shù)是 Promise 狀態(tài)變?yōu)?rejected 時執(zhí)行的回調(diào)函數(shù)。
2、回調(diào)函數(shù)接收一個參數(shù),即 Promise 的結果值。
3、如果只關心 Promise 成功時的結果,可以省略第二個參數(shù)。
示例代碼:
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('成功');
}, 1000);
});
promise.then(
(result) => {
console.log('成功:', result);
},
(error) => {
console.log('失?。?, error);
}
);
then() 方法的鏈式調(diào)用
通過 then() 方法返回的新 Promise 對象,可以繼續(xù)鏈式調(diào)用其他 then() 方法或 catch() 方法。
示例代碼:
const promise1 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('成功1');
}, 1000);
});
const promise2 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('成功2');
}, 1000);
});
promise1
.then((result) => {
console.log('第一步:', result);
return promise2;
})
.then((result) => {
console.log('第二步:', result);
})
.catch((error) => {
console.log('失?。?, error);
});
then() 方法的異常處理
then() 方法中的回調(diào)函數(shù)拋出異常,可以通過鏈式調(diào)用 catch() 方法進行捕獲。
示例代碼:
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('成功');
}, 1000);
});
promise
.then((result) => {
console.log('成功:', result);
throw new Error('出錯了');
})
.catch((error) => {
console.log('失?。?, error);
});
分享標題:JavaScrpt中的函數(shù)then是什么意思
當前網(wǎng)址:http://m.5511xx.com/article/coshiis.html


咨詢
建站咨詢
