Load data on demand

With Ember Await you can load your data on-demand (eg. on button click). To do it, we need to use @defer= argument and call the promise using run property.

Remember! this.fetchPosts needs to return a function

<Await @defer={{this.fetchPosts}} as |await|>
  <button {{on "click" await.run}}>Fetch posts</button>

    No posts are loaded yet

  <await.Fulfilled as |posts|>
    {{#each posts as |post|}}

This way, the content from await.Initial will be displayed until we click the button and posts will load.

Last updated