2

$.whenは ajax 呼び出しで使用しようとしていますが、呼び出しが常に呼び出されるとは限りません。どうすればこれを達成できますか。私はそれをハックしようとしてきました

var renderThis;
$.when($.post("/blabla", function(data){
            renderThis = data;
        }),
        function(){
            if(another){
                return $.post("/blabla");
            }
            else{
                return true;
            }
        })
        .then(function(){
            render(renderThis)
        });

しかし、私が見ているの$.then()は、遅延された方法で呼び出されるのではなく、即座に呼び出されるということです。

何か案は?

4

2 に答える 2

2

試す

var requests = [$.post("/blabla")];
if (another) {
    requests.push($.post("/blabla"))
}
$.when.apply($, requests).then(function (data1) {
    render(data1[0])
});
于 2013-11-05T11:17:36.630 に答える