В настоящее время я использую redux-saga в проекте, и я хочу использовать его также для предотвращения многократного запроса одного и того же ресурса.
В настоящий момент на одной странице есть несколько компонентов, запрашивающих ресурс (т.е. отправка {types: "REQUEST_POST_COMMENTS", postId: <postIdHere>}
)
И у меня есть эта сага:
export function* loadPostComments() {
yield takeLatest("REQUEST_POST_COMMENTS", loadPostComments);
}
Моя страница отправляет следующие действия одновременно:
{types: "REQUEST_POST_COMMENTS", postId: 123}
{types: "REQUEST_POST_COMMENTS", postId: 321}
{types: "REQUEST_POST_COMMENTS", postId: 123}
И моя цель состоит в том, чтобы loadPostComments
вызывался дважды, один раз для поста123 и один для поста 321.
Я переключился на takeLeading
в бета-версии - но это вызовет loadPostComments
только один раз.
Есть ли способ определить сагу, используяшаблон, но takeLatest
для группировки их по значению action.type
?Или какой-нибудь способ добиться чего-то похожего?