在我的react项目中,我有以下代码。
export function* onDisplayAlert({ payload }: any) {
payload.id = getUniqueID();
yield put(setAlert(payload));
yield setTimeout(() => {
yield put(removeAlert(payload.id));
}, 3000);
}
我想在这里做的是在setTimeOut回调中使用yield。
yield put(removeAlert(payload.id));
但是我编写此方法的方式无效。因为箭头函数回调不是生成器函数,所以我不能在其中使用yield。如何在setTimeOut中使用yield?
这是您需要的
export function* onDisplayAlert({ payload }: any) {
payload.id = getUniqueID();
yield put(setAlert(payload));
yield delay(3000);
yield put(removeAlert(payload.id));
}