go风格的error handler的 eslint plugin
async function fun(){
const res = await JSON.parse('//');
console.log(res);
return res;
}
转换后
"use strict";
async function fun() {
var res = await(async function () {
try {
return {
result: await JSON.parse('//')
};
} catch (e) {
return {
error: e,
result: null
};
}
})();
;
console.log(res);
return res;
}
- 打开babel试一试
- 点击添加插件,搜索babel-plugin-go-style-error-handle
npm run test
yarn global add babel-plugin-go-style-error-handle
{
plugins: 'babel-plugin-go-style-error-handle'
}
本来是想实现:=语法转换的,看了下文档发现babel parser没有插件机制,只能fork下来改源码,目前没有深入研究。所以只是转换了赋值操作。
还有很多问题啊,只是研究性质的。