📅  最后修改于: 2023-12-03 15:07:13.129000             🧑  作者: Mango
在应用程序中,我们经常需要定期执行某些任务。创建一个定时触发器是一种简单而可靠的方法来实现这个目标。在 Javascript 中,我们可以使用 Google Apps Script 来创建触发器,并在每分钟自动运行脚本。
要创建定时触发器,我们需要使用 ScriptApp
对象的 newTrigger()
方法。该方法需要传入两个参数:要运行的函数和触发器运行的时间间隔。
function createTrigger() {
// 获取当前项目和脚本的唯一ID
const id = SpreadsheetApp.getActiveSpreadsheet().getId();
const script = ScriptApp.getScriptId();
// 创建一个新的定时触发器,每分钟运行一次
ScriptApp.newTrigger('myFunction')
.timeBased()
.everyMinutes(1)
.create();
}
上面的代码中,我们使用了 timeBased()
方法来指定触发器的类型为时间触发器。接下来,我们使用 everyMinutes()
方法来指定触发器的时间间隔为一分钟。最后,我们使用 create()
方法来创建触发器。
一旦创建了定时触发器,我们就可以使用 ScriptApp
对象的 getScriptTriggers()
方法来获取当前项目中所有的触发器,并定时运行我们指定的函数。
function myFunction() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange("A1").setValue(new Date());
}
function onOpen() {
// 在打开文档时创建定时触发器
createTrigger();
}
function onInstall() {
// 在安装应用程序时创建定时触发器
createTrigger();
// 添加一个自定义菜单
SpreadsheetApp.getUi()
.createMenu('定时脚本')
.addItem('手动运行', 'myFunction')
.addToUi();
}
在上面的示例代码中,我们定义了一个名为 myFunction()
的函数,在调用时会在当前表格的 A1 单元格中写入当前时间。接下来,我们在 onOpen()
和 onInstall()
函数中调用 createTrigger()
函数来创建定时触发器。
通过以上操作,我们可以在文档或应用程序中创建定时触发器以每分钟运行 Javascript 脚本。