Skip to content

Sync/Async Generators #10

@rodydavis

Description

@rodydavis

Any reason to just add the strings vs async/sync generators?

Current:

@template
void _movieTemplate() async {
  '<h1>My movies</h1>';

  var page = await fetchPage();
  if (!page.isLoggedIn) {
    '<h2>Log in</h2>';
  } else {
    '<ul>';
    for (var movie in page.myMovies) {
      '<li [class.favorite]="${movie.isFavorite}">$movie</li>';
    }
    '</ul>';
  }
  '<footer>Footer</footer>';
}

Proposed:

@template
Stream<String> _movieTemplate() async* {
  yield '<h1>My movies</h1>';

  var page = await fetchPage();
  if (!page.isLoggedIn) {
    yield '<h2>Log in</h2>';
  } else {
    yield '<ul>';
    for (var movie in page.myMovies) {
      yield '<li [class.favorite]="${movie.isFavorite}">$movie</li>';
    }
    yield '</ul>';
  }
  yield '<footer>Footer</footer>';
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions