title: Using Promises and Zones in Angular2
body: <p>I'd like to display the result of processing a promise in a component's template. I've tried using zone.run, but that hasn't helped. Here's my component:</p>
  
  <pre><code>@Component({ selector: 'test' })
  @View({ template:
  `&lt;div class="test"&gt;
    &lt;p&gt;Result: {{ result }}&lt;/p&gt;
  &lt;/div&gt;`
  })
  
  export class Test {
    promise: Promise&lt;string&gt;;
    result: string;
  
    constructor(private _zone: NgZone) {
  
      // Process promise
      this._zone.run( function() {
        this.promise = new Promise(function(resolve, reject) { resolve("Hi there"); });
        this.promise.then(function(msg: string) { this.result = msg; });
      });
    }
  }
  </code></pre>
  
  <p>When this runs, the template doesn't change. I tried putting zone.run inside the then method, but that gave an error. Any thoughts?</p>