LockService.getUserLock()它是如何工作的?

时间:2017-06-07 15:26:02

标签: google-apps-script

谷歌脚本LockService getUserLock()声明,将阻止当前用户同时执行代码段。

我有一个自定义公式函数,不应该从不同的字段同时调用。这是因为公式需要根据工作表中的几个现有值计算返回值,每次调用公式时都可能会更新。

我的功能看起来像这样

    function MYFORMULA(field1 , field2){


    var uLock = LockService.getScriptLock();
    var lck = uLock.tryLock(100000);
      if(lck){
    // do some calculations on given values
    }
    uLock.releaseLock();
return value;
    }

现在我在单元格上应用公式,并通过拖动将公式复制到coloumn中的所有单元格。所有公式都是并行评估的,并不考虑由前面的公式调用引起的更新的单元格值 用户锁可以做到这一点来防止这种情况吗?或者还有其他方法吗?

0 个答案:

没有答案