getDataWorker* (action) {
try {
data = yield getData()
yield put(getDataSuccess(data))
} catch(error) {
yield put(getDataError(error))
}
}
watcher* () {
yield takeEvery(getDataRequest, getDataWorker)
}
AnotherWorker* (action) {
yield put(getDataRequest())
yield take(getDataSuccess)
data = yield select(data)
}