在ES6中,await
和async
是用于處理異步操作的關鍵字。
async
關鍵字用于定義一個返回Promise
對象的異步函數。例如:
async function fetchData() {
// 異步操作
return result;
}
await
關鍵字用于等待一個返回Promise
對象的表達式的結果,該表達式可以是異步函數調用、Promise
對象或任何返回Promise
對象的表達式。使用await
關鍵字時,需要將其放在async
函數中。例如:
async function fetchData() {
const result = await fetch('https://api.example.com/data');
console.log(result);
}
在上述示例中,fetchData
函數是一個異步函數,使用await
關鍵字等待fetch
函數返回的Promise
對象的結果。
需要注意的是,使用await
關鍵字時,代碼執行會暫停,直到異步操作完成并返回結果。這使得在使用await
關鍵字時可以以同步的方式編寫異步代碼。
同時,await
關鍵字只能在async
函數中使用,否則會報錯。
另外,await
關鍵字后面的表達式可以捕獲并處理異步操作的錯誤,可以使用try/catch
語句來捕獲錯誤,以便進行錯誤處理。
總結起來,async
關鍵字用于定義異步函數,await
關鍵字用于等待異步操作的結果,并以同步的方式編寫異步代碼。