利用函数回调获取setInterval中返回的值

Posted on 2017-08-09 21:01  快乐的~小和尚  阅读(992)  评论(0编辑  收藏  举报
我们都知道,定时器里面想返回值如果你用return根本没作用,那么怎么拿到定时器所返回的值呢,
现在只需要利用回调函数,给主函数传一个函数类型的参数callback,然后把想要返回的num再传给callback,
这时候callback就拿到了这个num值
let myTimer = function (callback) {
  let height = 10;
  let flag = true;
  let time= setInterval(function () {
    height--;
    console.log(height);
    if(!height){
      let num=Math.round(Math.random()*10);
      callback(num);
      clearInterval(time);
    }
  }, 200);
};

 

myTimer(function (num) {
  console.log(`我拿到了定时器结束的时候返回的随机值${num}`);
});