Как обещания в генераторах Javascript разрешаются в redux-saga

#javascript #redux-saga

Вопрос:

Я пытаюсь высмеять сагу о переделке в одном из моих модульных тестов, чтобы пропустить некоторые шаги, которые могли бы привести к вызову API. В конце концов, издевательский генератор возвращает обещание, если он будет запущен в саге, это будет решено, по-видимому, без дополнительных вызовов, но когда я запускаю приведенный ниже код в консоли, я получаю undefined . Любые разъяснения были бы очень признательны.

 const promise = Promise.resolve("Resolved")
function* thenYield() {const resolved = yield promise; yield resolved}
const gen = thenYield()
gen.next()
 

ВОЗВРАТ {value: Promise, done: false}

 gen.next()
 

ВОЗВРАТ {value: undefined, done: false}

Основываясь на том, что я наблюдал в redux-saga , я ожидал, что второй next решит {value: "Resolved", done: false}

Комментарии:

1. Это делается с помощью промежуточного ПО (например, github.com/redux-saga/redux-saga/blob/… )