2012-05-30 24 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