一个自动给 async/await 函数添加 try/catch 的 babel 插件
npm install --save-dev babel-plugin-await-add-trycatch
babel.config.js 配置如下
module.exports = {
plugins: [
[
require('babel-plugin-await-add-trycatch'),
{
exclude: ['build'], // 默认值 ['node_modules']
include: ['main.js'], // 默认值 []
customLog: 'My customLog' // 默认值 'Error'
}
]
]
};
async function fn() {
await new Promise((resolve, reject) => reject('报错'));
await new Promise((resolve) => resolve(1));
console.log('do something...');
}
fn();
async function fn() {
try {
await new Promise((resolve, reject) => reject('报错'));
await new Promise((resolve) => resolve(1));
console.log('do something...');
} catch (e) {
console.log('\nfilePath: E:\\myapp\\src\\main.js\nfuncName: fn\nError:', e);
}
}
fn();