dva.js setInterval 倒计时

参考:https://dvajs.com/guide/introduce-class.html#reducer

const delay = (timeout) => {

    return new Promise(resolve => {

        setTimeout(resolve,timeout)

    })

 effects: {

    // 定义promise

    * Interval({

          payload={},

        }, { put, call, select }){

           //60秒倒计时... 

           let i= 60

           while(i>0){

              i--;

                yield call(delay, 1000);    //参考https://dvajs.com/guide/introduce-class.html#reducer

                yield put({

                    type: 'updateState',

                    payload:{

                      count:i

                    }

                }) 

           }


     }

 }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,060评论 0 2
  • 作为一个七情六欲的人,我们会高兴,会悲伤,会愤怒。会指责他人,也会自我否定。我们也一直在说话,在聊天,可是...
    AR娟娟阅读 180评论 0 0
  • 位朋友邀请我去外面组建团队。我也觉得不应该再一个人孤独地奋斗了。走出去也许会有更多的机会。走出去难不难,只要有一颗...
    成成日志阅读 292评论 0 0
  • 一向低调的微软,最近在人工智能领域前所未有地高调了起来。 前两天,微软(亚洲)互联网工程院发布了一份技术声明,称人...
    清清美文阅读 765评论 0 0