MST

星途 面试题库

面试题:Rust中map与错误处理的链式调用优化

给定如下代码结构:`let result1: Result<String, String> = get_result1(); let result2 = result1.map(|s| process1(s)).map_err(|e| handle_error1(e)); let result3 = result2.map(|s| process2(s)).map_err(|e| handle_error2(e));`,请优化这段代码,减少重复的`map_err`调用,同时保持错误处理逻辑不变,假设`get_result1`、`process1`、`process2`、`handle_error1`、`handle_error2`函数已定义。
17.3万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
let result1: Result<String, String> = get_result1(); 
let result3 = result1
    .and_then(|s| process1(s).map_err(handle_error1))
    .and_then(|s| process2(s).map_err(handle_error2));