Вы можете просто создать функцию, которая принимает аргумент, и использовать аргумент в два раза - один для запроса, а также «магазин» результат
var myData = {};
function getDate(date) {
$.getJSON("http://127.0.0.1:8080/horizon-update?date="+date, function(data){
myData[date] = data;
});
}
getDate('date1');
getDate('date2');
getDate('date3');
Без этого кода, однако, учитывает асинхронный характер запроса, но также и код в вопросе
Примечание: я изменил имя объекта результата в обратном вызове и var хранит результат, чтобы отразить тот факт, что он не JSON - возвращенные данные могут быть, но jQuery.getJSON возвращает разобранный JS ПО как простой ПР»JavaScript объект
вы, скорее всего, хотят что-то вроде этого, хотя
function getDate(date) {
return $.getJSON("http://127.0.0.1:8080/horizon-update?date="+date);
}
$.when(getDate('date1'), getDate('date2'), getDate('date3'))
.then(function(result1, result2, result3) {
// the results are in
})
Конечно, если число вызовов„динамический“, это немного сложнее (особенно с jQuery.when)
function getDate(date) {
return $.getJSON("http://127.0.0.1:8080/horizon-update?date="+date);
}
var dates = ['date1', 'date2', 'date3'];
$.when.apply($, dates.map(function(date) {
return getDate(date);
}).then(function() {
// the results are in arguments[]
})
Теперь, как jQuery.getJSON возвращает thenable
(обещание) - вы можете использовать Promise.all
, чтобы сделать код, который намного проще - если вы хотите поддержать IE, вам нужно Promise polyfill - это один является один связан в MDN Promise docs - но есть буквально десятки вариантов
function getDate(date) {
return $.getJSON("http://127.0.0.1:8080/horizon-update?date="+date);
}
var dates = ['date1', 'date2', 'date3'];
Promise.all(dates.map(function(date) {
return getDate(date);
}).then(function(results) {
// results is an array of the results - in the same order as the dates array
})
'с разными параметрами даты '- параметры даты? не видите ЛЮБЫЕ параметры в коде, который вы отправили –
@JaromandaX это можно сделать? Возможно, вы можете помочь в процессе мышления, как это сделать, а также с некоторой документацией. Тогда, может быть, я смогу попробовать что-то значимое. – Etch
Я уже написал ответ ... делая некоторые предположения, конечно, –