title: AngularUI-Bootstrap's Typeahead Can't Read `length` Property of `undefined`
body: <p>I am getting the following error when I attempt to get a typeahead values from AngularUI-Bootstrap, using a promise.</p>
  
  <pre><code>TypeError: Cannot read property 'length' of undefined
    at http://localhost:8000/static/js/ui-bootstrap-tpls-0.6.0.min.js:1:37982
    at i (http://localhost:8000/static/js/angular.min.js:79:437)
    at i (http://localhost:8000/static/js/angular.min.js:79:437)
    at http://localhost:8000/static/js/angular.min.js:80:485
    at Object.e.$eval (http://localhost:8000/static/js/angular.min.js:92:272)
    at Object.e.$digest (http://localhost:8000/static/js/angular.min.js:90:142)
    at Object.e.$apply (http://localhost:8000/static/js/angular.min.js:92:431)
    at HTMLInputElement.Va.i (http://localhost:8000/static/js/angular.min.js:120:156)
    at HTMLInputElement.x.event.dispatch (http://localhost:8000/static/js/jquery-1.10.2.min.js:5:14129)
    at HTMLInputElement.v.handle (http://localhost:8000/static/js/jquery-1.10.2.min.js:5:10866) 
  </code></pre>
  
  <p>My HTML tag is:</p>
  
  <pre><code>&lt;input type="text" class="form-control" id="guestName" ng-model="name" typeahead="name for name in getTypeaheadValues($viewValue)"&gt;
  </code></pre>
  
  <p>With my <code>getTypeaheadValues</code> function doing the following:</p>
  
  <pre><code>$scope.getTypeaheadValues = function($viewValue)
  {
      // return ['1','2','3','4'];
  
      $http({
          method: 'GET',
          url: 'api/v1/person?name__icontains=' + $viewValue
      }).error(function ($data) {
          console.log("failed to fetch typeahead data");
      }).success(function ($data) {
          var output = [];
          $data.objects.forEach(function (person)
          {
              output.push(person.name);
          });
          console.log(output);
          return output;
      });
  }
  </code></pre>
  
  <p>I do not understand what AngularUI-Bootstrap is complaining about as being undefined.  If I remove the comment on the top-most <code>return</code> the values show up fine.  The <code>console.log</code> output in the <code>success</code> also return all the values I'm expecting in an array.</p>
  
  <p>What am I missing that would cause AngularUI-Bootstrap not see the returned array?</p>