是的,JavaScript Promises 可以處理復雜邏輯。Promises 是一種簡化異步編程的方法,它們允許您將多個異步操作組合成一個更易于管理和閱讀的代碼結構。通過使用 then
、catch
和 finally
方法,您可以輕松地處理異步操作的成功、失敗和完成狀態。
以下是一個使用 Promise 處理復雜邏輯的示例:
function asyncOperation1() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Operation 1 completed');
}, 1000);
});
}
function asyncOperation2(data) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(`Operation 2 completed with data: ${data}`);
}, 1000);
});
}
function asyncOperation3(data) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(`Operation 3 completed with data: ${data}`);
}, 1000);
});
}
asyncOperation1()
.then((result1) => {
console.log(result1);
return asyncOperation2(result1);
})
.then((result2) => {
console.log(result2);
return asyncOperation3(result2);
})
.then((result3) => {
console.log(result3);
})
.catch((error) => {
console.error('An error occurred:', error);
})
.finally(() => {
console.log('All operations completed');
});
在這個示例中,我們定義了三個異步操作(asyncOperation1
、asyncOperation2
和 asyncOperation3
),它們都返回一個 Promise。然后,我們使用 then
方法將這些操作鏈接在一起,以便在一個操作完成后執行下一個操作。我們還使用了 catch
方法來捕獲任何可能的錯誤,并使用 finally
方法在所有操作完成后執行一些代碼。這使得我們的代碼更加模塊化和易于維護。