網站搜尋

reactjs - 如何讓取消請求處理生效


我製作了一個名為 Pul 的元件,它向伺服器發送請求並處理它。Pul

但我想為拋出和處理建立一個單獨的 ProcessingRequest 類。Pul + ProcessingRequest

為什麼 fetch 只能執行一次並且會拋出錯誤?

class ProcessingRequest {
  abortController: AbortController = new AbortController();

  async ServerRequest(endURL: string) {
    try {
      console.log(this.abortController);
      const Res = await fetch(`${endURL}`, {
        signal: this.abortController.signal
      });
      const Product = await Res.json();
      if (!Res.ok || !Product) {
        throw new Error("Page Not Found 404");
      }
      return Product;
    } catch (error) {
      return error.name !== "AbortError" ? `${error.message}` : "";
    }
  }

  Abort() {
    this.abortController.abort();
  }
}

export default new ProcessingRequest();