Skip to content

Commit

Permalink
feat(pollTask): sell and buy polltask
Browse files Browse the repository at this point in the history
  • Loading branch information
Sean Han committed Dec 14, 2021
1 parent 2785369 commit 923c652
Showing 1 changed file with 9 additions and 8 deletions.
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
import { Task } from 'redux-saga'
import { call, cancel, fork, put, take, takeEvery, takeLatest } from 'redux-saga/effects'

import { actions as coreActions, actionTypes } from 'data'
import { actions as coreActions, actionTypes, selectors } from 'data'

import profileSagas from '../../modules/profile/sagas'
import sagas from './sagas'
import { actions } from './slice'

let pollTask: Task
let buyPollTask: Task
let sellPollTask: Task

export default ({ api, coreSagas, networks }) => {
const buySellSagas = sagas({ api, coreSagas, networks })
Expand Down Expand Up @@ -86,20 +87,20 @@ export default ({ api, coreSagas, networks }) => {
yield takeLatest(
actions.startPollSellQuote.type,
function* (payload: ReturnType<typeof actions.startPollSellQuote>) {
if (pollTask && pollTask.isRunning()) yield cancel(pollTask)
pollTask = yield fork(buySellSagas.fetchSellQuote, payload)
if (sellPollTask && sellPollTask.isRunning()) yield cancel(sellPollTask)
sellPollTask = yield fork(buySellSagas.fetchSellQuote, payload)
yield take(actions.stopPollSellQuote.type)
yield cancel(pollTask)
yield cancel(sellPollTask)
}
)

yield takeLatest(
actions.startPollBuyQuote.type,
function* (payload: ReturnType<typeof actions.startPollBuyQuote>) {
if (pollTask && pollTask.isRunning()) yield cancel(pollTask)
pollTask = yield fork(buySellSagas.fetchBuyQuote, payload)
if (buyPollTask && buyPollTask.isRunning()) yield cancel(buyPollTask)
buyPollTask = yield fork(buySellSagas.fetchBuyQuote, payload)
yield take(actions.stopPollBuyQuote.type)
yield cancel(pollTask)
yield cancel(buyPollTask)
}
)
}
Expand Down

0 comments on commit 923c652

Please sign in to comment.