2013-04-27 117 views
0

假設我用ajax調用觸發多個Python函數。有沒有辦法接收多個響應(以表明它們都已成功?)。一個抽象的例子:每個函數有多個ajax響應?

function triggerPython(){ 
$.ajax({ 
    url:"/triggerPython", 
    type:'POST', 
    data: whatever, 
    success: function(response){ 
     alert(response); 
    } 
}); 
} 

蛇皮:

class triggerPython(webapp.RequestHandler): 
    def post(self): 
     function_1() 
     self.response.out("Function 1 done!") 
     function_2() 
     self.response.out("Function 2 done!") 
     function_3() 
     self.response.out("Function 3 done!") 

回答

2

都能跟得上這是不可能的。向瀏覽器沖洗輸出可能像似乎像一種方法,但GAE不這樣做。它會立即發送完整的響應並一起發送。 Check the docs

作爲替代方案,您可以創建另一個服務(第二個呼叫),即民意調查第一個呼叫的進度。請注意,響應時間約爲60秒。或者,如果您的用例允許,請嘗試拆分3個進程並依次調用。