私は、次のしている:Javascriptの応答とAjaxリクエスト
function wikiAjax (searchURL) {
return Promise.resolve($.ajax({
url: searchURL,
jsonp: "callback",
dataType: 'jsonp',
xhrFields: {
withCredentials: true
},
}));
}
$(".search-form").submit(function() {
var searchText = $('#search').val();
var searchURL = "https://en.wikipedia.org/w/api.php?format=json&action=query&generator=search&gsrsearch=" + searchText + "&gsrlimit=15&prop=extracts&exsentences=3&exintro=&explaintext&exlimit=max&callback=JSON_CALLBACK";
console.log(searchURL);
var wikiResponse = wikiAjax(searchURL);
wikiResponse.then(function(data) {
alert(data);
}, function() {
alert("The call has been rejected");
});
});
しかし、私はどこか(例えばwikiResponse.then
行で)ブレークポイントを置く場合にのみ、答えを得ます。
呼び出しが結果を返す前にコードが実行されたようですが、なぜですか?約束は適切に設定されていませんか?
事前に感謝します。
コールが返される前にコードが実行されると思いますか? –
@ JesseLee私はブレークポイントを置くので、私は警告のオブジェクトを見ることができるので。 – S4rg0n