reactjs - Ov väntat tecken, förväntade ")" inuti axios try-catch-sats


Jag får ett konstigt problem Unexpected token, expected ")" när jag försöker lägga till typen som any för undantaget e i try-catch-satsen. Det fungerar bra när any-typen tas bort från catch-blocket. (Att lägga till any uttryckligen, eftersom utan det misslyckas git-pipelinen)

 try {
      await axios.patch(
        "/scriptschedule/" + pk + "/",
        postData
      );
      setSubmitting(false);
      afterCreateOrUpdateAction();
    } catch (e: any) {
      setSubmitting(false);
      let message =
        e.response.data && e.response.data.non_field_errors
          ? e.response.data.non_field_errors
          : "Error. Please try again";
      addToast({
        id: "1",
        title: "Error",
        color: "danger",
        text: <p>{message}</p>,
      });
    }

Syntaxen ser bra ut för mig. Missar jag något?

Svar #1

Det är inte möjligt att sätta en typannotering på felet i catch-satsen. Lösningen på detta skulle vara att casta variabeln (som jag tror att du har gjort).

try { 
  // ...
} catch (e) {
  (e as any)...
}