恭喜@昭朗 同学在10月份的TC39月会中,顺利将Error Cause议题推进到了Stage4,此提案将被写入ECMAScript2022标准。
提案地址:https://github.com/tc39/proposal-error-cause
阿里前端委员会的Error Cause议题,也是国内第一个自主提案推进到浏览器标准,目前各大厂商的浏览器都已经实现支持。大家可以直接在浏览器的console中体验了:
async function doJob() {
const rawResource = await fetch('//domain/resource-a')
.catch(err => {
throw new Error('Download raw resource failed', { cause: err });
});
const jobResult = doComputationalHeavyJob(rawResource);
await fetch('//domain/upload', { method: 'POST', body: jobResult })
.catch(err => {
throw new Error('Upload job result failed', { cause: err });
});
}
try {
await doJob();
} catch (e) {
console.log(e);
console.log('Caused by', e.cause);
}