ttt

by Artem

JavaScript

'use strict';

const uri = 'https://jsonplaceholder.typicode.com/posts/1';

function* fetchPost() {
	const response = yield fetch(uri);
  const post = yield response.json();
  return `Title is ${post.title}`;
}


function run(generator) {
	const iterable = generator();
  
  function handle(result) {
  	if (result.done) {
    	return Promise.resolve(result.value)
    }
   	return result.value.then(response => handle(iterable.next(response)))
  }
  
  return handle(iterable.next());
}

run(fetchPost).then(console.log);