2013-04-27 83 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个进程并依次调用。