title: Angular2 async issue with lodash library?
body: <p>I have a component that is subscribed to a behavior subject. My second component is subscribed to another behavior subject. It wants to receive data that we got back from our other component.</p>
  
  <p>In my first subscription, once I have the data I use <code>lodash</code> to check if there an object in there with a specific <code>key/value</code>.</p>
  
  <p>All I am expecting from that is a <code>true/false bool</code>. This is then what I send to my other subscription that my component #2 is listening for.</p>
  
  <p>When trying to send the result from the <code>lodash</code> function to my other subscription, it never gets it. Is there some type of async issue here? Does <code>_find</code> have a callback I need to be using?</p>
  
  <pre><code>// Component 1 - Subscribed to a behavior subject. Upon receiving data, calls next on another behavior subject to send it some of the data we received
  
  this._mapsService.uiMapVersionsData
      .subscribe(
          results =&gt; {
              if (results) {
                  this.mapVersionsData = results;
  
                  // Is there an async issue going on here with passing data to the lodash libary and getting its value back?
                  this._mapsService.updateIsDraftData((_.find(results, { IsDraft: '1' }) ? true : false)); // Subscriber never gets anything
  
                  // Other Tests
                  this._mapsService.updateIsDraftData(false); // Subscriber receives false
                  console.log((_.find(results, { IsDraft: '1' }) ? true : false)) // Prints false
              }
          }
      );
  
  
  // Component 2 subscribed to another behavior subject trying to receive the data from component 1
  this._mapsService.uiIsDraftData
      .subscribe(
          results =&gt; {
              if (results) {
                  this.isDraft = results;
                  console.log('I am a subscriber ' + this.isDraft)
              }
          }
      );
  
  
  // Service
  private uiIsDraftSub = new BehaviorSubject&lt;boolean&gt;(null);
  uiIsDraftData = this.uiIsDraftSub.asObservable();
  
  ....
  
  updateIsDraftData(isDraft) {
      this.uiIsDraftSub.next(isDraft);
  }
  </code></pre>