首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否有一种方法可以同时运行两个函数(同时/异步),一个函数作为一个无限循环?

是否有一种方法可以同时运行两个函数(同时/异步),一个函数作为一个无限循环?
EN

Stack Overflow用户
提问于 2019-09-23 14:10:01
回答 3查看 6.3K关注 0票数 0

我想同时运行两个函数,但不能让它们单独运行,因为一个函数包含一个无限循环while(true)。JavaScript的问题是,如果在哪里运行两个函数,它将在运行下一个函数之前完成该函数的运行;因此,如果我使用while(true)循环运行一个函数,它将永远不会转移到下一个函数上。

如果你还不明白,这是我的代码:

代码语言:javascript
运行
复制
function onOpen(){           // Google Apps Script trigger
    infLoop()                //how to run both of these functions at the same time?
    runScript()
}

function infLoop(){          //inf loop.

    while(True){
        Utilities.sleep(100)
        DocumentApp.getActiveDocument()
        .setname("dont change this name")
    }
}

function runScript(){
    //code...
}
EN

回答 3

Stack Overflow用户

发布于 2019-09-23 17:53:21

若要“同时”运行两个或多个函数,应分别调用每个函数。一种方法是从客户端代码进行使用承诺

请记住,您的服务器端无限循环最终将导致您的脚本超过最大执行时间(6分钟/ 30分钟,取决于有效用户使用的帐户类型)。

相关

票数 3
EN

Stack Overflow用户

发布于 2019-09-23 19:48:03

在Apps脚本中运行一个无限循环是徒劳的,因为有对大多数脚本强制执行6分钟的最长执行时间。当您达到这个限制时,脚本的执行将被终止。

从您的示例脚本判断,您要做的是设置文档名称的计划作业。为此目的,使用时间驱动的触发器. 为您提供更好的服务。

然后,您可以这样构造您的脚本:

代码语言:javascript
运行
复制
function onOpen() {
    // code...
}

function updateDocumentName() {
    DocumentApp.getActiveDocument().setName("dont change this name")
}

然后,可以将设置时间驱动触发器updateDocumentName()函数关联起来。

需要注意的一个主要区别是:与其每100 is执行一次逻辑,不如用时间驱动触发器设置的最高频率是每1分钟一次。

票数 1
EN

Stack Overflow用户

发布于 2020-01-11 19:43:00

是!简单地将一个函数放在另一个函数中。

代码语言:javascript
运行
复制
function EmailSummary() {
  // Modified from http://stackoverflow.com/a/22200230/1027723 .. SOURCE: https://mashe.hawksey.info/2015/07/tips-on-emailing-inline-google-charts-from-sheets-using-apps-script/
  function emailCharts(sheet_name){    // eg "SF_EMAIL"
    sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheet_name)
    var charts = sheet.getCharts();

    if(charts.length==0){
      MailApp.sendEmail({

...

只需确保缩进正确。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58064351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档