Ajax GET isteği yapan ve döndürülen değere dayalı olarak bir global JS değişkeni belirleyen bir işlev var.Javascript/jQuery ile Senkronize GET isteği
var isCalculateTax;
function setCalculateTaxValue(taxStatementId) {
$.get('/taxstatements/calculatetax/' + taxStatementId, function (data) {
isCalculateTax = data.isCalculateTax;
});
}
$(document).ready(function() {
// initially check the tax statements dropdown to see which one is selected
// and set the isCalculateTax to the right value
var taxStatementId = $('#taxStatements').val();
setCalculateTaxValue(taxStatementId);
enumerateDocumentItems(isCalculateTax);
});
Sorunum enumerateDocumentItems() denilen ve çalıştırıldığında isCalculateTax henüz GET isteği AJAX güncellenen olmadığını, bu yüzden öngörülemeyen alırsınız: Ben daha ileri işlemler için (aşağıdaki kodda isCalculateTax) bu değişkeni kullanan Sonuçlar.
EnumerateDocumentItems() dosyasını çalıştırmadan önce gerekli süre kadar bekleyebilirim, böylece isCalculateTax doğru olur mu?
Bazı yerlerde enumerateDocumentItems'i geri arama olarak sağlamak istemezsek ne olur? Eğer idam edilmesini istemiyorsak, sadece boşluğa geçebilir miyiz? @Jochem .. yorumumu gör – mare
@mare - evet, bu kod, aramayı denemeden önce geri aramanın null olmadığından emin olmak için kontrol eder. Değeri null değerine ayarlayın: "updateTaxValue (taxStatementId, null)". – tvanfosson
Kodunuzda bir hata var: Function.prototype.apply öğesinin ikinci argümanı bir dizi olmalıdır [Bu hataya son ver] callback.apply (taxStatementId, data.isCalculateTax); – mare