Как вызвать put внутри Promise.then?
Есть сага, которая делает некий запрос, он может выполняться долго и вывалится с ошибкой, а может вообще не выполнится и зависнуть, я решил его убивать через 5 сек по таймауту
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
reject("result");
}, 5000)
const openShift = JSON.parse(window.kkt.writeAndPrint(JSON.stringify({'openShift': data})))
resolve(openShift)
})
yield promise
.then(
result => {
if (result.status == 'ok') {
put({
type: CHANGES_CHANGE_SUCCESS,
payload: payload
})
const timeStamp = {'key': 'openChangeTime', 'value': JSON.stringify(moment())}
const stor = storage.settingsSetCurrent(JSON.stringify(timeStamp))
console.log(stor)
kkt.openCashDrawer()
notify('Смена открыта', 'success')
put({
type: LOADING_SUCCESS,
payload: false
})
} else {
notify('Ошибка', 'error')
}
},
error => {
notify("Ошибка: " + error, "error")
}
)