Skip to content

Commit 96486ce

Browse files
committed
fix: delay
1 parent 93d112a commit 96486ce

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

src/components/Form/Form.tsx

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -101,22 +101,23 @@ const Form = <TSchema extends z.ZodType<FormDataType>, TData extends z.TypeOf<TS
101101
};
102102

103103
const handleSubmit = async (event: React.FormEvent<HTMLFormElement>) => {
104-
const minSubmitTime = new Promise<void>((resolve) =>
105-
suspendWhileSubmitting ? setTimeout(resolve, 500) : resolve()
106-
);
104+
event.preventDefault();
105+
const result = await validationSchema.safeParseAsync(values);
106+
if (!result.success) {
107+
console.error(result.error.issues);
108+
handleError(result.error);
109+
return;
110+
}
107111
try {
108112
setIsSubmitting(true);
109-
event.preventDefault();
110-
const result = await validationSchema.safeParseAsync(values);
111-
if (result.success) {
112-
await onSubmit(result.data);
113-
reset();
114-
} else {
115-
console.error(result.error.issues);
116-
handleError(result.error);
117-
}
113+
await Promise.all([
114+
onSubmit(result.data),
115+
new Promise<void>((resolve) => {
116+
return suspendWhileSubmitting ? setTimeout(resolve, 500) : resolve();
117+
})
118+
]);
119+
reset();
118120
} finally {
119-
await minSubmitTime;
120121
setIsSubmitting(false);
121122
}
122123
};

0 commit comments

Comments
 (0)