首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dotenv().ok()做什么?

dotenv().ok()做什么?
EN

Stack Overflow用户
提问于 2020-06-24 01:27:10
回答 1查看 2.5K关注 0票数 10

我使用的柴油ORM包装与PostgreSQL。我遵循的是他们网站上的指南,它有以下代码:

代码语言:javascript
复制
pub fn establish_connection() -> PgConnection {
     dotenv().ok();

     let database_url = env::var("DATABASE_URL")
         .expect("DATABASE_URL must be set");
     PgConnection::establish(&database_url)
         .expect(&format!("Error connecting to {}", database_url))
}

我理解了dotenv()通过dotenv文档所做的工作--它加载env文件。在源代码中,我看到dotenv()返回一个Result。那么ok()是做什么的呢?它能解开结果吗?如果是,为什么不使用unwrap()

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-24 02:27:57

这是一种忽略因未能加载dotenv环境文件而产生的错误的方法。

dotenv()返回一个ResultResult::okResult转换为Option。此Option不会触发有关未使用的Result的警告。

为什么不使用unwrap()

因为你不希望它失败。在生产中,不应该有环境文件,而是使用实际的环境变量。如果您使用unwrap,那么您的服务将立即在生产中失败。不幸的是,这件事发生在我身上。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62546180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档