dvajs / dva

🌱 React and redux based, lightweight and elm-style framework. (Inspired by elm and choo)
https://dvajs.com/
MIT License
16.24k stars 3.17k forks source link

怎么取消某个effects中的yield call(delay, time) #2467

Closed Xi-yu closed 2 years ago

Xi-yu commented 2 years ago
effects: {
    *test({ payload }, { put, select, call }) {
        yield call(delay, 60 * 1000)
        console.log(111)
    }
}

先执行test一次,在60秒倒计时期间,希望取消这个倒计时,重新开始一个新的60秒倒计时,类似于clearTimeout

Xi-yu commented 2 years ago

找到了,可以用delay[CANCEL]()取消定时器