У меня есть взаимодействие с флажком, который должен запускать HTTP-запрос каждый раз при щелчке по галочке.Порядок управления вызовами ajax с помощью redux-saga
Я хотел бы, чтобы каждый вызов запускался после завершения предыдущего вызова.
Мое ощущение, что сакт редукссов был бы идеальным для этого, но я не понимаю, как моделировать это взаимодействие.
Если я использую call
, ничего запрос, пришедший в не будет игнорироваться, пока
Если я использую fork
, звонки будут все идут в то же самое время. Мне непонятно, если/как дождаться завершения задачи. Будет ли yield task
сделать это?
Я вижу, что каналы могут «буферизовать» запросы, но мне непонятно, как использовать каналы таким образом.
кажется, что 1-й пример из [канала] документ (https://yelouafi.github.io/redux-saga/docs/advanced/Channels.html) должны делать именно чего вы хотите достичь. Можете ли вы, возможно, уточнить, какая часть использования канала вам не понятна? – MadNat
Что делать, если для каждого объекта нужен другой «actionChannel». Это было бы нормально, если бы запросы, параллельные для разных объектов, но должны быть синхронными для любого конкретного объекта. – blockhead
Вы хотите, чтобы все взаимодействия вызывали HTTP-запросы? или вы хотите взять последнее, как только предыдущий вызов будет выполнен? вы правы, что вам следует использовать каналы для этого. , чтобы ответить на ваш следующий вопрос: вы могли бы просто иметь ключи сопоставления объектов (соответствующие объектам) каналам. это было бы немного сложно, так как каждый раз, когда вы видите новый ключ, вы хотите создать новую сагу. – WuTheFWasThat