var sleep = function (time) { return new Promise(function (resolve, reject) { setTimeout(function () { // 模擬出錯了,返回 ‘error' reject('error'); }, time); }) }; var start = async function () { try { console.log('start'); await sleep(3000); // 這裏獲得了一個返回錯誤 // 因此如下代碼不會被執行了 console.log('end'); } catch (err) { console.log(err); // 這裏捕捉到錯誤 `error` } };