在 Go 中使用事务

当用户注册时,我的应用程序会做两件事 - 将用户添加到数据库并发送验证电子邮件:


...

err := collection("users").Insert(&u);

if err != nil {

    WriteServerError(w, err)

    return

}


if err = sendVerificationEmail(&u); err != nil {

    WriteServerError(w, err)

}

...

如果没有发送电子邮件,我不想将用户添加到数据库中,如果用户没有被添加到数据库中,我也不想发送电子邮件(后者当然是用代码处理的)按此顺序块)。


假设 Go 支持事务,是否值得为这样的事情烦恼?如果是这样,那么有人可以给我一些关于如何转换上面的代码的指示吗?


我可以使用嵌套语句,但这可能会变得非常难看。


慕盖茨4494581
浏览 141回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go