Table of Contents
Hôm nay có việc gọi Ajax để xử lý data. Cơ mà trớ trêu lại dính vụ đồng bộ, bất đồng bộ của Javascript. Từng quen mặt nó mấy lần nhưng chưa bao giờ mình thực sự tìm hiểu về nó. Nay quyết tâm giải quyết đến nơi với nó @@ Tìm tài liệu thì thấy được bài hướng dẫn sau rất hay, và Ok
https://viblo.asia/p/ky-thuat-dong-bo-bat-dong-bo-trong-ajax-MgNeWXxEkYx
Mình có notes lại ở đây
https://dothanhlong.org/ky-thuat-dong-bo-bat-dong-bo-trong-ajax/
Tuy nhiên, thuộc tính
async: false
khi thêm vào hàm Ajax đã bị Chrome chặn rồi.
Do vậy, chúng ta sử dụng cách promise
nhưng phần sau của hướng dẫn, và mình đã thành công^^
function ajax_gen_chart(idtram, iddata) {
var k = $.Deferred();
$.ajax({
//async: false,
method: "GET",
url: 'getdata4chart_v2.php?idtram=' + idtram + '&data=' + iddata
}).done(function(data) {
datare = JSON.parse(data);
k.resolve();
});
return k.promise();
}
Sau đó là gọi nó ra
ajax_gen_chart(1, 1).done(function() {
console.log(datare);
});