2012-05-30 22 views
0

是否有可能'链'功能?说,我有一个serverclickhandler,然后想立即调用另一个函数。我该如何解决它?GAS中有“链接”功能吗?

谢谢。

+0

只需直接调用其他函数? –

+0

我试过,但我似乎无法得到所需的结果。 我可以这样吗? (e) 函数soso //操作应用var和其他东西 //我可以在这里调用另一个函数吗?这个其他功能也需要操作活动应用程序以及 返回应用程序; //或者我应该把函数调用放在这里? } – sabansm

+0

我们从来没有在处理程序上做'UiApp.createApplication();',你应该澄清你的问题,可能会添加一些代码。 –

回答

3

要在第一个处理程序之后执行第二个处理程序,您只需从第一个处理程序直接调用它,例如,

var app = null; 
function firstHandler(e) { 
    if(app == null) 
    app = UiApp.getActiveApplication(); 
    //do your thing 

    //now, instead "return app;" you return the second handler 
    return secondHandler(e); 
} 

function secondHandler(e) { 
    if(app == null) 
    app = UiApp.getActiveApplication(); 
    //do your job 
    return app; 
} 

我放在一个全球范围内app VAR这样你就可以得到它仅在必要时(职能部门之间共享它没有明确的传递),(至少对我来说)节省了可能昂贵的和未知的行为拨打第二个getActiveApplication()

+0

谢谢迈克尔,我现在修好了。 –

+0

恩里克,谢谢! 这当然清除了事情。 – sabansm

1

不知道我理解你的确切问题,但serverhandlers到你提到的那些精密制造...(see doc) 请注意,您可以将多个处理程序的UI元素来触发不同的功能,并最终把它们连。

+0

我了解多个处理程序分配。我的问题是:处理程序/函数是否连续运行?在执行下一个功能之前,GAS是否会等待第一个功能完成,或者它们是否同步启动? 谢谢你的回答,Serge。 – sabansm

+0

他们同时被解雇。 –

+0

好的。那回答我的问题。链接,我设想的方式,在这种情况下是不可行的。 谢谢恩里克。 – sabansm