У меня есть две функции, одна функция - функция перезагрузки, которая выполняет веб-вызов ajax для получения данных. другой - загрузчик товаров, который загружает данные. Проблема в том, что функция, загружающая элемент данных, еще не имеет значения из-за сделанного вызова ajax. Во всяком случае, это исправление, помимо вызова setTimeout? Заранее благодарю за любую помощь.javascript Вопрос о состоянии гонки
function reload(index) {
_ListData[index] = null;
DisplayInformation.GetTemplateTableInformation(
ListManager.listReportId(),
ListManager.listParameters(),
ListManager.listSortParams(),
TableReportHelper_TemplateRelatedAction,
reloadRange.min,
reloadRange.num,
function(templateItemIfo) {//success callback causes issues with race conditon in the function itemLookaheadCallback because _ListData[index] = null;
itemLookaheadCallback(templateItemIfo, index);
});
}
Вот функция, которая пытается загрузить элемент, который был назван в перегрузочной обратного вызова
function loadDataCallback(lookAheadData, index, loadNeighbors) {
//Store the received value
var item = _ListData[index];//this will be null because of _ListData[index] = null;
item.data = lookAheadData.TemplateInformation;
};
Вы могли бы уменьшить свой код до самого важного вопроса? –
+1 до выше. Отсутствует контекст. Опишите эту проблему более общим образом. –
Извините, что я немного уменьшил код в строке var item = _ListData [index]; будет null, и это проблема. функция reload callback itemLookaheadCallback не устанавливает индексный элемент достаточно быстро. – user516883