我有一个get_url_content
函数,不在乎错误(这只是一个测试).它返回一个Option<String>
.
extern crate hyper;
use std::io::Read;
use hyper::client::Client;
fn get_url_content(url: &str) -> Option<String> {
let client = Client::new();
let mut s = String::new();
match client.get(url).send() {
Ok(mut res) => {
match res.read_to_string(&mut s) {
Ok(_) => {
Some(s)
},
Err(_) => {
None
}
}
},
Err(_) => {
None
}
}
}
这个函数很好用,但我发现它不容易阅读.我认为有一些关于此类 case 的最佳实践可以让它更具可读性.嵌套匹配是否是一种糟糕的做法(比如JS中的回调地狱),如果是,如何避免?