EN

Search
Close this search box.

موستانگ، وحشیِ دوست داشتنی

پاسخ داده شد
0
0

اگر با ارور circular dependency در nestjs  مواجه شدیم باید چکار کنیم؟

  • شما باید برای ارسال دیدگاه شوید
پاسخ عالی
0
0

ارور circular dependency وقتی بوجود می آید که مثلاً در module A از module B استفاده کنیم و در module B هم از module A.

گرچه بهتر است تا جای ممکن از معماری که باعث circular dependency در کدهایمان می شود جلوگیری کنیم (چون ممکن است در scale های بالا به مشکل بخوریم)، ولی با کمک forwardref می توانید این ارور را برطرف کنید: (باید داخل Module A و Module B ، و همچنین Service A و Service B از forwardref استفاده کنید)

ModuleA:

@Module({
  imports:[forwardRef(() => ModuleB)],
  providers: [ServiceA],
  controllers: [ControllerA],
  exports:[ServiceA]
})

ServiceA:

@Injectable()
export class ServiceA {
    constructor(@Inject(forwardRef(() => ServiceB))
    private serviceB: ServiceB){}
}

ModuleB:

@Module({
  imports:[forwardRef(() => ModuleA)],
  providers: [ServiceB],
  controllers: [ControllerB],
  exports:[ServiceB]
})

ServiceB:

@Injectable()
export class ServiceB {
    constructor(@Inject(forwardRef(() => ServiceA))
    private serviceB: ServiceA){}
}
  • شما باید برای ارسال دیدگاه شوید
نمایش 1 نتیجه
پاسخ شما
اگر قبلاً حساب کاربری دارید با پر کردن فیلد های زیر یا به عنوان مهمان ارسال کنید.
نام*
ایمیل*
وب سایت