Я пытаюсь понять, как работают генераторы (как правило, и в koa). У меня есть файлы:(Koa.js) Основы генерации и урожайности
Rooms.js - это ручки размещения пользователя в комнату (Socket.io) и прочее, когда игрок назначен в комнату, я хочу, чтобы запустить Game.js
модуль
var Game = require('./Game');
(...)
Game.startGame(roomId)
игры .js - function startGame*()
вызывается из Rooms.js: и он должен сделать некоторый код, тогда я хочу, чтобы он подождал, скажем, 500 мс, а после этого он должен запустить еще один код. Функция
exports.startGame = function *(roomid) {
console.log("before sleep")
yield Utility.sleep(500)
console.log("after sleep")
}
и сон() в Utility.js:
exports.sleep = function(ms){
return function(cb) {
setTimeout(cb, ms);
};
}
Но это не работает - функцию генератора в Game.js. И я не знаю, что там не так. Пожалуйста помоги.
Спасибо! Вы правы, я не понял, прежде чем этот генератор должен выходить извне. Кроме того, ваш скринкаст был очень информативным, и я надеюсь, что мне еще лучше понять генераторы. :) – jwitos