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