سلام و وقت بخیر خدمت استاد دادخواه خیلی ممنونم بابت تدریس عالیتون
یک مشکلی برای من در درک خروجی مثال آخر پیش اومده و نتوسنتم خوب درک کنم که داره داخل خروجی چه اتفاقی میفته.
دقیقا داخل این تیکه کد زیر که داریم خروجی میگیریم: که مثلا چرا جواب ۴ در next بعدی قرار داره ولی در همون next اول ورودی خالی هست و در این حال که خالی هست yield به چه صورت داره مقدار 4 رو داخل متغیر قرار میده و همینطور چرا ۹ در next بعدی قرار داره یکم گیجم کرده و اینکه دقیقا دارن nextها به چه ترتیبی جلو میرن:
امیدوارم منظورم رو خوب رسونده باشم
خیلی ممنون
// بخشی که مشکل دارم
console.log(generator.next().value); // "2 + 2 = ?"
console.log(generator.next(4).value); // "3 * 3 = ?"
console.log(generator.next(9).done); // true
// کد کامل مثال
function* gen() {
let ask1 = yield "2 + 2 = ?";
console.log(ask1); // 4
let ask2 = yield "3 * 3 = ?"
console.log(ask2); // 9
}
let generator = gen();
console.log(generator.next().value); // "2 + 2 = ?"
console.log(generator.next(4).value); // "3 * 3 = ?"
console.log(generator.next(9).done); // true