479 Star 4.3K Fork 1.6K

ssssssss-team / magic-api

 / 详情

[严重] 在db.transaction中return时,某些语句未执行

已完成
创建于  
2020-11-13 12:48

从0.4.0升级到0.4.5后发现此bug:
输入图片说明

返回的json缺少了msg字段:
输入图片说明

评论 (5)

iolygg 创建了任务
iolygg 关联仓库设置为ssssssss-team/magic-api
iolygg 修改了描述
iolygg 修改了描述
展开全部操作日志

没有语法错误也会NPE:
输入图片说明

import request;
import response;

var ret = {
    ok: false,
    msg: null,
    pass: [],
    fail: []
};

try {
    // 执行更新
    db.transaction(()=>{
        if (true) {
            ret.fail.add(48);
            ret.msg = '权限受限:当前帐号未授予编辑权';
            return;
        }
    });
    

} catch(e) {
    ret.msg = e.message;
}

return response.json(ret);

已测试,return 语句的BUG。你可以强制指定一下return的值。比如 return 0;
赋值语句是变量作用域的原因,也确实是一个BUG。

此BUG 周一修复。

0.4.6 版本中已修复。

小东 任务状态待办的 修改为已完成

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
297689 jmxd 1578919598
Java
1
https://gitee.com/ssssssss-team/magic-api.git
git@gitee.com:ssssssss-team/magic-api.git
ssssssss-team
magic-api
magic-api

搜索帮助