无返回值的JavaScript函数是否需要编写return语句?
关于这两个场景下return的使用建议
首先明确结论:是否需要使用return完全取决于你的业务需求,没有强制要求,两个场景的具体判断如下:
针对removeAuthData异步函数
export const removeAuthData = async () => { return await AsyncStorage.removeItem('auth'); }
这个场景推荐保留return:
- 符合异步工具函数的封装规范,后续如果
AsyncStorage.removeItem调整了返回值(比如返回删除结果状态),调用方不需要修改封装层代码就能直接拿到返回值 - 即使当前不需要获取返回值,保留return也方便后续扩展错误打点、结果校验等逻辑,不会额外增加代码冗余
- 注:即使去掉return,async函数默认也会返回Promise,你依然可以在调用时用await等待执行完成、捕获异常,不会影响错误处理逻辑
针对setIsAuthenticated状态更新方法
setIsAuthenticated(value) { this.props.actions.setIsAuthenticated(value); }
这个场景不需要加return:
- 该方法仅负责触发状态更新动作,通常不需要给调用方返回任何执行结果,去掉return代码更简洁
- 如果你后续有扩展需求(比如需要返回更新是否执行成功的状态、需要支持链式调用),再加return也完全可行
通用判断规则
你可以根据以下两个维度快速判断要不要加return:
- 需要让调用方拿到函数执行结果、需要提前终止函数执行、需要支持链式调用 → 加return
- 仅执行内部逻辑,不需要对外暴露任何执行信息 → 不需要加return
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

