Skip to content

Instantly share code, notes, and snippets.

@goFrendiAsgard
Created October 31, 2018 01:42
Show Gist options
  • Save goFrendiAsgard/41a20de70dd5c96c3e44be425cb75804 to your computer and use it in GitHub Desktop.
Save goFrendiAsgard/41a20de70dd5c96c3e44be425cb75804 to your computer and use it in GitHub Desktop.
Konsul Alfon
function ajax(obj) {
setTimeout(function () {
obj.success(obj.url);
}, 100);
}
let x; // 1
ajax({ // 2
url: "http://google.com",
success: function(data) {
x = data;
console.log("dalam ajax", x);
}
});
console.log("luar ajax", x); // 3
// CODING KITA (pakai callback)
function loadUrlCallback(callback) {
ajax({ // 2
url: "http://google.com",
success: function(data) {
callback(data);
}
});
}
loadUrlCallback(function (data) {
console.log("di dalam callback", data);
});
// CODING KITA (pakai promise)
function loadUrlPromise() {
return new Promise(function (resolve, reject) {
ajax({ // 2
url: "http://google.com",
success: function(data) {
resolve(data);
}
});
});
}
loadUrlPromise().then(function (data) { // resolver
console.log("di dalam promise.then", data);
});
// CODING PRO
async function main() {
let x = await loadUrlPromise(); // tunggu promise nya resolve, masukkan datanya ke x, baru jalankan kode setelahnya
console.log("dalam async function", x);
}
main();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment