0

ajax 呼び出しで複数の Python 関数をトリガーするとします。複数の応答を受け取る方法はありますか (それらがすべて成功したことを示すために)。抽象的な例:

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!")
4

1 に答える 1

2

いいえ、それは不可能です。出力をブラウザーにフラッシュすることは 1 つのアプローチのように思えるかもしれませんが、GAE はそれを行いません。完全な応答を一度にまとめて送信します。ドキュメントを確認してください

別の方法として、最初の呼び出しの進行状況をポーリングする別のサービス (2 番目の呼び出し) を作成できます。応答には最大 60 秒の時間制限があることに注意してください。または、ユースケースが許せば、3 つのプロセスを分割して、順番に呼び出してみてください。

于 2013-04-27T17:23:33.490 に答える