Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Функции в генераторах (https://javascript.ru/forum/node-js-io-js/66847-funkcii-v-generatorakh.html)

zzareyan 13.01.2017 23:33

Функции в генераторах
 
У меня есть функция-генератор, в котором хочу поставить другую функцию.
Скажем, функция dictionaries - поиск в словаре слова в контексте. Когда использую стандартный (одноразовый) yield, все работает (код в комментарии), а с функцией dictionaries никак.

Может, кто знает как пройти эту ситуацию?
function* dict(name, context) {
    if (context.cursor) {
        yield* dictionaries(name, context);
 
        /*yield {
            name: name + "(" + то что должен вернуть dictionaries + ")",
            text: context.cursor.text,
            index: context.cursor.index,
            count: 1,
            start: context.cursor.start
        };*/
    }
}

zzareyan 17.01.2017 19:42

Фу нашел наконец:

Если кому интересно - вот так:

function* dict(context, name) {
    if (context.cursor) {
        var expression = dictionaries(name, context);
        var result = expression.next();
        if (!result.done) {
            yield result.value;
        }
    }
}


Часовой пояс GMT +3, время: 21:38.