blob: c9f44ebb2472c35175741a618900c4370d49b3e7 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Module "timer"
//
// This module provides basic createOneShot, createRepeating support. The
// reason to define this module is to forward calls to setTimeout, setInterval
// exposed by the browser. Mojo JS bindings are currently loaded using gin
// and createOneShot, createRepeating are not always available.
//
// TODO(crbug.com/703380): When the Mojo JS bindings move away from gin,
// this module could be removed.
define("timer", [], function() {
/**
* Executes a function once after the set time delay.
* @param {int} delay Milliseconds to wait before executing the code.
* @callback callback
*/
function createOneShot(delay, callback) {
setTimeout(callback, delay);
}
/**
* Repeatedly executes a function with a fixed time delay between each call.
* @param {int} delay Milliseconds to wait between executions of the code
* @callback callback
*/
function createRepeating(delay, callback) {
setInterval(callback, delay);
}
var exports = {};
exports.createOneShot = createOneShot;
exports.createRepeating = createRepeating;
return exports;
});