Skip to content

Instantly share code, notes, and snippets.

Theerawit Akesiripong obbaeiei

View GitHub Profile
@obbaeiei
obbaeiei / main.js
Created Jul 23, 2018
callback hell
View main.js
function main() {
console.log(1)
setTimeout(()=>{
console.log(2)
setTimeout(()=>{
console.log(3)
}, 2000)
}, 1000)
}
@obbaeiei
obbaeiei / main.js
Last active Jul 23, 2018
Async/await example 03
View main.js
function main() {
console.log(1) // ปริ้น 1
delay(1000) // รอ 1 วินาที ถึงจะเรียกฟังชั่นบรรทัดที่ 4
.then(()=> {
console.log(2) // ปริ้น 2
return delay(2000) // รอ 2 วิ ค่อยเรียกบรรทัดที่ 8
})
.then(()=>{
console.log(3)
})
@obbaeiei
obbaeiei / main.js
Created Jul 23, 2018
Async/Await example02
View main.js
async function main() {
console.log(1)
await delay(1000)
console.log(2)
await delay(2000)
console.log(3)
}
function delay(ms) {
return new Promise((resolve)=>{
@obbaeiei
obbaeiei / main.js
Created Jul 23, 2018
Async/Await example
View main.js
async function main() {
const user = await promiseFindUser()
console.log('name: ', user.name)
}
function promiseFindUser() {
return new Promise((resolve)=>{
setTimeout(()=>{
const user = {
name: 'Thor'
@obbaeiei
obbaeiei / main.js
Created Jul 23, 2018
inside setTimeout
View main.js
setTimeout(function callMeBaby() { console.log(5) }, 1000)
function setTimeout(callback, ms) {
// รอ 1000 ms
callaback()
}
@obbaeiei
obbaeiei / main.js
Created Jul 23, 2018
Set timeout to wait to do something
View main.js
setTimeout(function callMeBaby() {
console.log(6)
}, 1000)
@obbaeiei
obbaeiei / main.js
Last active Jul 23, 2018
asynchonous code
View main.js
function waitingForPrint5() {
setTimeout(() => {
console.log(5) // รอ 1 วิค่อยปริ้น 5 อธิบายต่อข้างล่างนะครับ
}, 1000)
}
function main() {
waitingForPrint5() // เมื่อมันทำงานบรรทัดนี้ยังไม่เสร็จตามต้องการ
// ยังไม่ Print 5 แต่สั่งไปแล้วนะให้ปริ้น
// แต่มันบอกไปก่อนเลยเพื่อนไม่ต้องรอ
View main.js
function main() {
console.log(1) // เมื่อทำบรรทัดนี้เสร็จ ได้ 1 ออกมาที่ console ถึงจะเริ่มทำบรรทัดต่อไป
console.log(2)
}
main()
@obbaeiei
obbaeiei / main.js
Created Jul 23, 2018
unused function
View main.js
const unused01 = (resolve) => {
resolve()
}
@obbaeiei
obbaeiei / main.js
Last active Jul 23, 2018
Async on sync
View main.js
function add(a, b) {
return a + b
}
async function mainBad() {
await add(1, 2) // bad
console.log('finished')
}
function mainGood() {
You can’t perform that action at this time.