Được rồi ... lúc 2 giờ sáng, đây là nơi tôi vẽ đường kẻ. Trợ giúp ... trước khi máy tính xách tay của tôi kết thúc đi ra ngoài cửa sổ. :)Đợi AJAX trước khi tiếp tục thông qua chức năng riêng biệt
Tôi đã thử sử dụng setTimer, gọi lại và mọi thứ khác mà tôi có thể nghĩ đến (cùng với một vài gợi ý Stackoverflow khác). Tôi đã loại bỏ tất cả mọi thứ vì vậy tôi chỉ để lại mã cơ sở.
Điều tôi đang làm là gọi parseRow() và trước khi lưu bản ghi ở cuối, tôi cần lấy Danh mục liên quan (qua AJAX); tuy nhiên, nó thổi ngay qua nó để danh mục luôn "không xác định".
function parseRow(row){
var rowArray = row.trim().split(",");
var date = rowArray[0];
var checknum = rowArray[1];
var payee = rowArray[2];
var memo = rowArray[3];
var amount = rowArray[4];
//ERROR: blows right past this one and sets the category variable BEFORE ajax returns
var category = autoSelectCategory(payee);
saveRecord(date, checkNum, payee, memo, category, payment, deposit);
}
function autoSelectCategory(payee) {
var data;
$.ajax({
async: false,
url: "autoselectcategory",
dataType: "json",
data: {
string: payee
},
success: function (returnedData) {
data = returnedData;
}
});
return data;
}
EDIT: Tôi đã thêm gợi ý kỳ quái của anh ấy để trả lời câu trả lời của penartur vì tôi là một moron và không trả lại dữ liệu đúng - đó là những gì tôi nhận được để thức quá muộn. Trên thực tế hiện các trick ngay bây giờ. Tuy nhiên, tôi sẽ thực hiện cuộc gọi lại. – glassfish