从navigator.vibrate数组获取值

时间:2018-11-04 17:10:27

标签: javascript arrays vibration

是否可以从navigator.vibrate([]);数组中获取值?这样,例如,我可以在这样的函数中计算总时间:

我尝试过的是常规点表示法:例如navigator.vibrate[0]

function my_vibration_function() {
  navigator.vibrate(
    [
      500,
      250, 
      100, 
      150, 
      100, 
      150, 
      500, 
      250, 
      500 
    ]
  );
}

1 个答案:

答案 0 :(得分:0)

本着最高级解决方案的精神::-)

class Vibrate {
    constructor(pattern) {
        this.pattern = pattern;
        this.startTime = Date.now();
        navigator.vibrate(pattern);
    }

    duration() {
        return this.pattern.reduce((t, x) => t + x);
    }

    remaining() {
        return Math.min(0, this.duration() - (Date.now() - this.startTime));
    }
}

let v = new Vibrate([
      500,
      250, 
      100, 
      150, 
      100, 
      150, 
      500, 
      250, 
      500 
    ]
  );