场景:我需要在effects的某个方法里面延迟5秒再调用这个方法,但是直接使用
settimout(()=>{
yield put({})
},5000)
直接这样写会报yield undefind
解决方案:就是在这个modal方法外面定义一个方法,里面调用settimeout方法
const delay = (ms) => new Promise((resolve) => {
setTimeout(resolve, ms);
});
然后在effects的方法里面调用,然后在yield put你要调用的方法
yield call(delay, 3000);
yield put({ })