Каким образом Генераторы могут позволять контролировать асинхронность? и что лучше всего использовать сейчас для асинхронного кода promise, async await, или генераторы?
// example with promise
fetch("https://toster.ru/")
.then(res => {
res.text()
.then(text => console.log(text))
})
// example with async await
async function testAsync() {
let response = await fetch("https://toster.ru/");
let text = await response.text();
return text;
}
testAsync().then(text => console.log(text)) // опять же приходится использовать промис
// как будет выглядеть пример с генератором???
function* testGenerator() {
let response = yield fetch("https://toster.ru/");
// валится ошибка can not read property text of undefined
let text = yield response.text();
return text;
}
a = testGenerator()
a.next()
a.next() // валится ошибка can not read property text of undefined