У меня есть объект со своими свойствами, отсортированными в определенном порядке. Для каждого свойства я должен сделать вызов AJAX, и мне нужно, чтобы ответ был в том же порядке, что и объект. Или, по крайней мере, получить его в том же порядке после того, как все ответы пришли.Как отсортировать ответ AJAX в том же порядке, что и запрос?
EDIT: jQuery доступен, если это может помочь.
Я пробовал применять предложения по смежным вопросам без каких-либо успехов.
Я упростил свою функцию:
prefillTable : function (data) {
console.log(data);
// this is the order of properties I need in my response:
// => Object {color: "blue", light: "led", type: "interior", size: "18"}
for (var prop in data) {
(
function (key) {
service.getAvailableValues(key, function (data) {
// this is where the sort order is missing right now
console.log(key);
});
}
)(prop, data[prop]);
}
}
// output order of console.log(key) is always different, for example:
// [11:53:12.099] => "type"
// [11:53:12.113] => "light"
// [11:53:12.120] => "color"
// [11:53:12.158] => "size"
Забавная вещь: В Chrome порядок ответ всегда один и тот же, как и для того запроса. В Firefox он перетасовывается.