gpt4 book ai didi

angular - 不能混合使用多个提供者和常规提供者 Angular

转载 作者:行者123 更新时间:2023-12-05 04:41:19 33 4
gpt4 key购买 nike

我在实现 APP_INITIALIZER 时遇到此错误

Error: Cannot mix multi providers and regular providers

at throwMixedMultiProviderError (core.js:219)

at R3Injector.processProvider (core.js:11405)

import { BrowserModule } from '@angular/platform-browser';
import { NgModule, isDevMode, APP_INITIALIZER } from '@angular/core';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { HttpClient, HttpClientModule, HttpHeaders, HTTP_INTERCEPTORS } from '@angular/common/http';



export function initializeApp(http: HttpClient): Promise<void> {

return new Promise((resolve, reject) => {
return setTimeout(() => {
console.log('test');
resolve();
}, 1000);
});
}


@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AppRoutingModule,
HttpClientModule
],
providers: [
{
provide: APP_INITIALIZER,
deps: [HttpClient],
useFactory: initializeApp,
// multi:true
},
],
bootstrap: [AppComponent]
})

export class AppModule {

}

我也尝试添加 multi: true 。它给出了不同的错误

core.js:6456 ERROR TypeError: _this22.appInits[i] is not a functionat _loop3 (core.js:27930)

一切看起来都很好。我在这里遗漏了什么吗?

最佳答案

第 1 步:使用 {multi:true} ,因为这是该错误所提示的。

第二步:需要解决真正的问题,_loop3错误。现在,我在这里看不到任何明显的错误,但我猜你是基于 Angular 文档 ( https://angular.io/api/core/APP_INITIALIZER) 的代码。如果您将示例原封不动地复制到那里,会怎样……会出现同样的错误吗?

关于angular - 不能混合使用多个提供者和常规提供者 Angular,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70107385/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com