- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在执行 codemod/transform 以更改代码中的 if
/return
语句。
我有很多if(err) do something
,我需要重构那个行为。
我如何为此进行转换?
我有什么:
if (err) {
return connection.rollback(function() {
throw err;
});
}
我想要的:
if (err){
return rollback(connection, err);
}
到目前为止,我设法替换了 node.consequent
并直接使用了 callExpression
:
root.find(j.IfStatement).replaceWith(function (_if) {
var fnCall = j.callExpression(j.identifier('rollback'), [
j.identifier('connection'),
j.identifier('err')
]);
_if.node.consequent = fnCall;
return _if.node;
});
...导致:
if (err)
rollback(connection, err);
如何在其中包含 BlockStatement
和 return
?这是执行此操作的正确方法吗?codemod?
最佳答案
好的,成功了!多么好的工具!
please do comment or post a new answer if there is a better way to do this!
因此,我缺少的是 if
语句中的 block 语句 {}
,以及其中的 return
。
所以我补充说:
var ret = j.returnStatement(fnCall);
var block = j.blockStatement([ret]);
_if.node.consequent = block;
关于javascript - codemod/transform 包括 BlockStatement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33190728/
{1 + ''} + 10 // 10 {1 + ''} + '' // 0 为什么会这样? BlockStatements 是否返回 0,为什么? 最佳答案 Do BlockStatements r
我一直在研究 Java 语言规范 here (相反,我应该出去喝啤酒)而且我很好奇方法可以包含什么。规范规定一个方法体可以包含一个 block MethodBody: Block 其中“ bl
我正在执行 codemod/transform 以更改代码中的 if/return 语句。 我有很多if(err) do something,我需要重构那个行为。 我如何为此进行转换? 我有什么: i
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 1年前关闭。 Imp
public class SumLineTester { /** * @param args */ public static void main(String[] args) {
我尝试编写类似“撤消”命令的程序。也许您从 WorldEdit 中了解到这一点。对于保存的 block ,我有一个 ArrayList ,但如果尝试保存宝箱、标志等,则不起作用。当然,我可以添加额外的
我试图向游戏中添加一个每侧都有不同纹理的新 block ,它会抛出一个错误异常加载模型变体。 blockstates/c_furnace.json { "variant": {
我是一名优秀的程序员,十分优秀!