League of Legends APIで練習コーディングをしたい。これを行うには、まずパッチバージョン(例: "7.12.1")とチャンピオンデータ(JSON)の2つの情報が必要です。ネスティングの約束が働いていない(jquery + League of Legends API)
私が抱えている問題は、GetData()がネストされた約束でも、GetPatch()が解決するのを待っていないということです。
var URL = "https://ddragon.leagueoflegends.com/"
var patch, data
var GetPatch = new Promise(function(resolve) {
$.getJSON(URL + "api/versions.json", f = x => {
patch = x[0]
console.log("patch version: " + patch)
resolve()
})
})
var GetData = new Promise(function(resolve) {
$.getJSON(URL + "cdn/" + patch + "/data/en_US/champion.json", g = x => {
data = x.data
console.log(data)
resolve()
})
})
GetPatch.then(function() {
GetData.then(function() {
RunApp()
})
})
function RunApp() {
console.log("everything is working")
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
あなたは '$ .getJSON'などのようなjQueryのAJAX機能がすでに約束を返すことを知っていたが - 'f ='と 'g =' ...を削除するだけです。 'x =>' –
を使用して、約束を作成する方法はgetJSONを "並列"で実行することを意味します –
矢印機能に関するJaromanda 。 '$ .getJSON'関数を正しく設定するにはどうしたらいいですか? あなたに私にどのように表示することができれば、最高の答えをお伝えしたいと思います。 – zack