CycleJS HTTP-запрос $ не вызывает запросы

Я новичок в CycleJS, я пытаюсь прочитать некоторые данные из драйвера HTTP и записать их, когда пользователь вносит изменения. У меня есть следующее:

Первоначальный запрос - это просто GET.

const initialRequest$ = Observable.just({url: ...});

Основываясь на некоторых намерениях пользователя, я обновляю свою модель и создаю (или пытаюсь создать хотя бы) запрос PATCH для обновления удаленных данных.

const patchRequests$ = intent$
    .withLatestFrom(model$, (intent, model) => {
        const payload = ... // get payload from model and intent
        return {
            url: `my/url/${target}`,
            method: 'PATCH',
            send: {
                // payload...
            },
        };
    });

Затем я объединяю потоки вместе с:

const request$ = Observable.merge(initialRequest$, patchRequests$);

и вернуться request$ к драйверу HTTP.

Мой первоначальный запрос проходит нормально, и я получаю данные в исходном потоке HTTP. Но патчи никогда не срабатывают.

Я могу подписаться на request$ с чем-то вроде:

request$.subscribe((req) => console.log(req));

И я увижу все мои первоначальные запросы и запросы на исправления, зарегистрированные в консоли. Но все равно запросы на патч никогда не отправляются.

Что я здесь не так делаю?

Благодарю.

1 ответ

Решение

Дать eager: true как одно из свойств объекта запроса. В противном случае HTTP-драйвер игнорирует запросы, которые не имеют соответствующего ответа $, ожидающего его в приложении.

Это изменится в будущей версии Cycle.js, однако все запросы будут нетерпеливыми, и вы не увидите эту проблему.

Другие вопросы по тегам