0
Я пытаюсь создать ui-сетку с некоторым фильтром DDL (от получения данных). Если я попытаюсь использовать async: false, все работает отлично. Это вызов:Создать ui-сетку с асинхронным вызовом
var Documents = [];
var solutionSetColumn = {};
var solutionSetFilters = [];
LoadData = function() {
Documents = [];
$.ajax({
type: "POST", url: url,
success: function (data) {
Documents = data.d;
},
error: function (err) {
}
});
}
}
$.ajax({
type: "POST", url: url,
success: function (data) {
solutionSetColumn = { field: 'SolutionSet', displayName: 'Solution Set', width: 190, filter: { type: uiGridConstants.filter.SELECT, selectOptions: data.d } };
},
error: function (err) {
solutionSetColumn = { field: 'SolutionSet', displayName: 'Solution Set', width: 190 }
}
});
LoadData();
gridOptions = {
enableHorizontalScrollbar: 2,
enableVerticalScrollbar: 0,
enableFiltering: true,
data: Documents,
columnDefs: [
{ field: 'Name', displayName: 'Nome File', width: 200 },
solutionSetColumn
]
}
$scope.gridOptions = gridOptions;
});
Как получить все асинхра без ошибок gridOption как COLDEF неопределенном? Очевидно, без setTimeout! Спасибо
'TypeError: Невозможно прочитать данные свойства 'неопределенного', Очевидно, что вызов всегда async ... –
Проблема в том, что у вас есть несколько вызовов asyn. Вы можете поместить каждый в свой родитель (как я предложил) или использовать обещания. См. Http://stackoverflow.com/questions/15299850/angularjs-wait-for-multiple-resource-queries-to-complete – Gerfried