ค้นหาเว็บไซต์

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();