JSFiddle - React, Tailwind, and code Playground

by Artem

JavaScript

'use strict';

function* foo() {

  let result = yield new Promise(
    resolve => setTimeout(resolve, 1000, 1)
  );
  
  alert(result); // 1
}

// co(foo); Ниже

let generator = foo();

generator.next().value
  .then(
  	result => generator.next(result),
    err => generator.throw(new Error('...')));