title: TypeError: Cannot read property 'then' of undefined on Angular 2 Promises
body: <p>I have the following code, on a component that uses the root segment route. </p>
  
  <pre><code>ngOnInit() {
      ...
  
      this.route.queryParams.forEach((params: Params) =&gt; {
          if (params['scrollTo']) {
              this.checkIfDataLoaded().then(() =&gt; { 
                  this.scrollToSection(params['scrollTo']);
              })
          }
      });
  }
  
  checkIfDataLoaded() {
      if (this.firstLoaded &amp;&amp; this.secondLoaded &amp;&amp; this.thirdnLoaded) {
          return new Promise((resolve, reject) =&gt; {
              resolve(true);
          });
      }
  }
  </code></pre>
  
  <p>It works fine until i switch trough routes and get back to my root segment, I noticed with the debugger that I get this error</p>
  
  <pre><code>TypeError: Cannot read property 'then' of undefined
      at eval (http://localhost:54396/app/my.component.js:58:42)
      at SafeSubscriber.eval [as _next] (http://localhost:54396/node_modules/rxjs/Observable.js:108:21)
      at SafeSubscriber.__tryOrSetError (http://localhost:54396/node_modules/rxjs/Subscriber.js:232:16)
      at SafeSubscriber.next (http://localhost:54396/node_modules/rxjs/Subscriber.js:174:27)
      at Subscriber._next (http://localhost:54396/node_modules/rxjs/Subscriber.js:125:26)
      at Subscriber.next (http://localhost:54396/node_modules/rxjs/Subscriber.js:89:18)
      at BehaviorSubject._subscribe (http://localhost:54396/node_modules/rxjs/BehaviorSubject.js:28:24)
      at BehaviorSubject.Observable.subscribe (http://localhost:54396/node_modules/rxjs/Observable.js:56:27)
      at eval (http://localhost:54396/node_modules/rxjs/Observable.js:87:38)
      at new ZoneAwarePromise (http://localhost:54396/node_modules/zone.js/dist/zone.js:467:29)
  </code></pre>
  
  <p>Any idea what is happening and how to solve this?</p>