我有一个按下按钮的视图-
false
业务逻辑将进行API调用,看起来像这样-
import {businessLogic} from './BusinessLogic';
onButtonPressed = async() => {
let response = await businessLogic();
if (response) {
//success
} else {
//error
}
}
ApiClient看起来像这样-
import { APICall} from './ApiClient';
export const businessLogic= async () => {
try {
let response = await APICall();
if (response.status === 200) {
const body = await response.json();
return true;
} else {
return false;
}
} catch (error) {
return false;
}
}
我的问题是如何区分业务逻辑中的错误响应和异常并发送到视图?目前,对于错误和异常,我确实返回false,但是我需要进行详细的错误处理
答案 0 :(得分:0)
您可以使用以下方法解决问题:
返回对象 { 成功:对, 例外:假 } ,而不是业务逻辑中的布尔值 true / false 。根据Object的值,您可以在屏幕上做出决定。
使用上述方法更新的代码。
业务逻辑
import { APICall} from './ApiClient';
export const businessLogic= async () => {
try {
let response = await APICall();
if (response.status === 200) {
const body = await response.json();
return {
success: true,
exception: false
}
} else {
return {
success: false,
exception: false
}
}
} catch (error) {
return {
success: false,
exception: true
}
}
}
在视图中使用此业务逻辑
import {businessLogic} from './BusinessLogic';
onButtonPressed = async() => {
let response = await businessLogic();
if (response.success) {
// handle SUCCESS case
}else if(response.exception){
// handle EXCEPTION case here
}else{
// handle API ERROR case here
}
}