bilibili / gengine

Other
1.95k stars 272 forks source link

gengine 支持返回多值吗 类似 value,error #40

Open RuiFG opened 2 years ago

RuiFG commented 2 years ago

有时候需要判断是否有error 再执行相关逻辑逻辑 希望还是

value,err = function()
if ! isNil(err){
 //do something
}
Jun10ng commented 2 years ago

可以返回多值的。只不过他是返回在一个ResultsMap中,你可以通过判断ResultsMap内的所有value是否都为false来实现。

    err,result := svc.Pool.ExecuteConcurrent(reqData)
    if err != nil{
        logger.LogInfof("Execute err:%s ", err)
        return err
    }
    for ruleName, v := range result{
        if v.(bool){
            continue
        }
        return fmt.Errorf("ruleName:[%v] result is false",ruleName)
    }

可以看下官方文档