1
私はいくつかのコードを設定しました。私は非常に単純なAPIをajaxリクエストに使用したいと思います。jQuery - Ajax関数の遅延を成功させるにはどうすればいいですか?
私がしたいことは、何とか成功を返すために何らかの方法で遅延使用が使われていることです。私はこのようにそれを使用することができることなど
var dataTools = {
"foo" : function(){
factory({"One": 1}).success(function(jqXHR){
//Do something to jqXHR
//Return something to the "upper most" calling... how?
})
}
"bar" : function(){
factory({"Two": 2}).success(function(jqXHR){
//Return jqXHR to the "upper most" calling... how?
})
}
};
このような何かによって呼び出さなるだろう
var factory = function(dataParams) {
return $.ajax({
type : "POST",
dataType : "json",
url : "http://example.com/whatever",
data : dataParams,
beforeSend : function(jqXHR, settings){/*... something here ...*/},
error : function(jqXHR, textStatus, errorThrown){/*... something here ...*/},
complete : function(jqXHR, textStatus) {/*... something here ...*/}
});
:基本的に、オブジェクトはdataTools.foo
成功から値を返します
$.each(dataTools.foo(), function(k,v){
console.log(v);
});
、失敗した場合の空のセット、またはそのコードブランチをスキップするものを返す必要があります。
私は$.when().then()
を使用しようとしましたが、ここで説明したようにそれをどのように適合させるかわかりません。
あなたは 'VARのデータツール= {'を書くこともしかして:このような何かを試してみてくださいdoc
で述べているよう
あなたが何かをする必要がありますか? – Neal
ありがとうございました。 – Incognito
成功関数を「延期」する目的は何ですか?あなたは再利用可能なリクエストオブジェクトを構築しようとしていますか? –