diff --git a/src/components/setting/setting-clash.tsx b/src/components/setting/setting-clash.tsx
index 3825e87c992f1c4dd36f6829bd347b2d8507ab37..90675a0a12de6d1b9d2546d0895b1038152a3f0e 100644
--- a/src/components/setting/setting-clash.tsx
+++ b/src/components/setting/setting-clash.tsx
@@ -50,7 +50,7 @@ const SettingClash = ({ onError }: Props) => {
   // restart clash when port is changed
   const { run: onUpdatePort } = useDebounceFn(
     async (port: number) => {
-      (async () => {
+      try {
         if (port < 1000) {
           throw new Error("The port should not < 1000");
         }
@@ -61,10 +61,10 @@ const SettingClash = ({ onError }: Props) => {
         onChangeData({ "mixed-port": port });
         setPort(port);
         Notice.success("Change Clash port successfully!");
-      })().catch((err: any) => {
+      } catch (err: any) {
         setMixedPort(thePort); // back to old port value
         Notice.error(err.message ?? err.toString());
-      });
+      }
     },
     { wait: 1000 }
   );
@@ -72,8 +72,7 @@ const SettingClash = ({ onError }: Props) => {
   // get clash core version
   const [clashVer, setClashVer] = useState("");
   useEffect(() => {
-    getVersion().then((res) => {
-      const { premium, version } = res;
+    getVersion().then(({ premium, version }) => {
       setClashVer(premium ? `${version} Premium` : version);
     });
   }, []);