Flutter Dart中的动态开关盒

Flutter Dart中的动态开关盒,flutter,dart,switch-statement,Flutter,Dart,Switch Statement,我们是否可以在Dart中生成动态切换案例?我正在为API响应状态代码生成错误处理程序。示例如下所示: http.Response response = await http.post("api url here", body: jsonMap); switch (response.statusCode) { case (200): await showSuccessDialog(); // handles on success case (400):

我们是否可以在Dart中生成动态切换案例?我正在为API响应状态代码生成错误处理程序。示例如下所示:

http.Response response = await http.post("api url here", body: jsonMap);
switch (response.statusCode) {
  case (200):
    await showSuccessDialog();
    // handles on success
  case (400):
    // show error message for status code 400
  case (500):
    // show error message for status code 500
  default:
    break;
}
我想创建一个排序的全局函数,这样每当有API调用时就可以重用这个函数。为此,我需要一个与每个错误代码对应的错误消息的自定义列表。在我看来,全局功能开关的情况是这样的,将
\u customMessage
传递为
List

列出自定义消息=[
{“错误代码”:400,“消息”:“错误400”},
{“错误代码”:402,“消息”:“错误402”}
];
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:中(
孩子:升起按钮(
onPressed:()异步{
var jsonMap;//在此处处理jsonMap
响应=
等待http.post(“此处的api url”,正文:jsonMap);
错误对话框(上下文、响应、状态码、自定义消息);
},
),
),
);
}
无效错误对话框(BuildContext\u context、int\u statusCode、List\u customMessages){
//下面的switch语句是错误的,但把它放在这里是为了让大家理解这个想法
开关(状态代码){
_customMessages.forEach((错误){
案例(错误[“错误代码]):
//显示出现错误的对话框[“错误消息”]
}
}
}
所以问题在于,上面的说法肯定是错误的,但这正是我的想法。我如何制作动态切换案例,以便它能够根据我传递给此函数的错误消息列表生成切换案例?非常感谢任何帮助


编辑:编辑代码以显示如何应用函数
errorDialogs

是否需要此功能

Map函数映射={
'a':()=>打印('a'),
'b':()=>打印('b'),
'c':()=>打印('c'),
'd':()=>打印('d'),
'e':()=>打印('e'),
};
void main(){
最后的x='c';
打印($x:');
functionMap[x]。调用();
}
结果:

CASE c:
C

谢谢你的回答!为了使这个函数映射适合我的上下文,我需要动态的函数数量,这取决于我对每个API调用的不同状态代码的数量。是否可以向这个函数映射传递更多的函数?当然可以。你能提供这样一个函数的示例吗?你如何创建这些函数?我知道我用示例函数“errorDialogs”编辑了我的问题。
CASE c:
C