如何在特定时间继续进行单个Redux动作



我一直在开发反应本机应用,并与redux结合使用。我已经成功实施了优惠券系统。我想实现的是,我想在3秒钟至少继续采取一定的动作。

这是动作:

export const onAcceptingCoupon = (value) => {
 return(dispatch) => {
    setTimeout(() => {
        dispatch({ type: APPLY_BUTTON_LOADING, payload: true });
        }, 50000);
    dispatch({ type: DISCOUNTED_PRICE, payload: value });
    dispatch({ type: APPLY_BUTTON_LOADING, payload: false });
  }
};

所以,我一直在使用React Native Elements按钮。通过它具有加载选项,该选项将在按钮文本的前面显示一个加载程序。因此,问题是当我按上面的按钮上提到的操作时。

由于我需要的数据已被获取,因此我只想加载器活动3秒钟。这样,用户可以理解正在发生某些事情。

所以,我尝试使用Settimeout,但什么也没有发生。它刚刚移至下一个派遣。

如何手动停止调度转到下一个派遣,直到一秒钟?

我认为您的订单有些混乱。您需要先启动加载,然后在一段时间后停止加载器。也许将订单更改为此将使您获得更多成功。

export const onAcceptingCoupon = (value) => {
 return(dispatch) => {
    // show the loader
    dispatch({ type: APPLY_BUTTON_LOADING, payload: true });
    // put the code that should execute after 50000 inside the setTimeout
    setTimeout(() => {
        dispatch({ type: DISCOUNTED_PRICE, payload: value });
        dispatch({ type: APPLY_BUTTON_LOADING, payload: false });
        }, 50000);
    }
};

setTimeout没有阻止,在正常执行后编写的代码。它只是在时间段通过后导致超时的代码执行。

相关内容

  • 没有找到相关文章

最新更新