question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

You provided 'undefined' where a stream was expected

See original GitHub issue

Hi!,

I’m trying to use the HttpLoader in an angular 8 project, I’ve followed all the steps in the guide and in this tutorial and i get allways the same error at the chrome console:

“ERROR TypeError: You provided ‘undefined’ where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.”

image

I think i’m using the correct version (11+ core and 4+ loader) for Angular 8, anyway here are my dependencies form package.josn:

  "dependencies": {
    "@angular/animations": "~8.2.0",
    "@angular/cdk": "~7.3.7",
    "@angular/common": "~8.2.0",
    "@angular/compiler": "~8.2.0",
    "@angular/core": "~8.2.0",
    "@angular/flex-layout": "^7.0.0-beta.24",
    "@angular/forms": "~8.2.0",
    "@angular/material": "^7.3.7",
    "@angular/material-moment-adapter": "^7.3.7",
    "@angular/platform-browser": "~8.2.0",
    "@angular/platform-browser-dynamic": "~8.2.0",
    "@angular/router": "~8.2.0",
    "@fortawesome/fontawesome-free": "^5.9.0",
    "@ng-bootstrap/ng-bootstrap": "^5.1.0",
    "@ngx-translate/core": "^11.0.1",
    "@ngx-translate/http-loader": "^4.0.0",
    "angular-bootstrap-md": "^8.0.0",
    "animate.css": "^3.7.2",
    "chart.js": "^2.8.0",
    "core-js": "^2.5.4",
    "hammerjs": "^2.0.8",
    "moment": "^2.24.0",
    "ngx-device-detector": "^1.3.6",
    "ngx-malihu-scrollbar": "^8.0.0",
    "ngx-skeleton-loader": "^1.2.2",
    "rxjs": "~6.5.2",
    "tslib": "^1.9.0",
    "zone.js": "~0.9.1"
  }

And my app.module.ts:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule, LOCALE_ID } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { LoginModule } from './login/login.module';
import { HttpClientModule, HttpClient } from '@angular/common/http';
import { IntranetModule } from './intranet/intranet.module';
import { AlmacenModule } from './intranet/almacen/almacen.module';
import { httpInterceptorProviders } from '../core/interceptors/index';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
import localeEs from '@angular/common/locales/es';
import localePt from '@angular/common/locales/pt';
import { registerLocaleData } from '@angular/common';
import {TranslateModule, TranslateLoader} from '@ngx-translate/core';
import {TranslateHttpLoader} from '@ngx-translate/http-loader';


registerLocaleData(localeEs, 'es-ES');
registerLocaleData(localePt, 'pt-PT');

// AoT requires an exported function for factories
export function HttpLoaderFactory(http: HttpClient) {
  return new TranslateHttpLoader(http);
}
@NgModule({
  declarations: [AppComponent],
  imports: [
    BrowserModule,
    BrowserAnimationsModule,
    AppRoutingModule,
    LoginModule,
    NgxSkeletonLoaderModule,
    IntranetModule,
    AlmacenModule,
    HttpClientModule,
    TranslateModule.forRoot({
      loader: {
          provide: TranslateLoader,
          useFactory: HttpLoaderFactory,
          deps: [HttpClient]
      }
  })
  ],
  providers: [
    httpInterceptorProviders,
    { provide: LOCALE_ID, useValue: 'es-ES' },
    // { provide: LOCALE_ID, useValue: 'pt-PT' }
  ],
  bootstrap: [AppComponent]
})
export class AppModule {}

I’ve searched in the issues, even google, but I’ve not found anything to solve my problem.

Thank you.

Issue Analytics

  • State:open
  • Created 4 years ago
  • Comments:12

github_iconTop GitHub Comments

7reactions
nschmitcommented, Apr 17, 2020

I got the same error in my angular application (and #921 did not solve it). In my case, the error was in my http-interceptor. I did some error-handling in catchError(…), and accidentally returned undefined in some cases.

@Injectable()
export class HttpErrorInterceptor implements HttpInterceptor {
  intercept(
    request: HttpRequest<any>,
    next: HttpHandler
  ): Observable<HttpEvent<any>> {
    const timestamp = Date.now();
    return next.handle(request).pipe(
      timeout(HTTP_TIMEOUT_MS),
      retry(1),
      catchError((error: any) => {
          // pseude code ->
          if (error instanceOf SomeError) {
              return throwError(error);
          }
         // for errors that are not instanceOf SomeError
         // undefined was returned!!!
      })
    );
  }
}
1reaction
jnavarroveracommented, Aug 16, 2019

I’ve been investigating and I found that if I remove my interceptor, it works. I have others applications with both, interceptors and ngx-translate, and they works, the only diference is angular version (7 working, 8 not working)

Someone has any clue?

Thanks!

Read more comments on GitHub >

github_iconTop Results From Across the Web

You provided 'undefined' where a stream was expected - ...
I had the issue when running a Ionic app with the livereload server, CORS issues happening and Angular HTTP returning the classic HTTP...
Read more >
Resolve! TypeError: You provided 'undefined' where a ...
TypeError : You provided 'undefined' where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.
Read more >
angular/angular - Gitter
core.js:4799 ERROR TypeError: You provided 'undefined' where a stream was expected. You can provide an Observable, Promise, Array, or Iterable. at ...
Read more >
you provided 'undefined' where a stream was expected. ...
TypeError : You provided 'undefined' where a stream was expected. You can provide an Observable, Promise, Array, or Iterable. (below screenshot is from:...
Read more >
"TypeError: You provided 'undefined' where a stream was ...
I facing this issue when we update kibana from 7.10.2 to 7.17.7. It is kind of strange behavior, there is a nginx proxy...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found