پاسخ داده شد
اگر با ارور circular dependency
در nestjs مواجه شدیم باید چکار کنیم؟
nestjs nestjs circular dependency circular dependency ارور circular dependency nestjs a circular dependency between modules. use forwardref() to avoid it.
- نفیسه افقی 12 ماه قبل سوال کرد
- شما باید برای ارسال دیدگاه وارد شوید
پاسخ عالی
ارور 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){}
}
- نفیسه افقی 12 ماه قبل پاسخ داد
- آخرین ویرایش 12 ماه قبل
- شما باید برای ارسال دیدگاه وارد شوید
پاسخ شما