πŸ“š [JavaScript] 동기와 비동기

이가은·2022λ…„ 4μ›” 30일
0

JavaScript

λͺ©λ‘ 보기
11/13

πŸ“• 동기와 λΉ„λ™κΈ°μ˜ 차이

1. 동기(Syncronous)

μš”μ²­ ν›„ 응닡을 λ°›μ•„μ•Ό λ‹€μŒ λ™μž‘μ„ μ‹€ν–‰ν•˜λŠ” 방식

2. 비동기(Asynchronous)

μš”μ²­μ„ 보낸 ν›„ 응닡과 관계없이 λ‹€μŒ λ™μž‘μ„ μ‹€ν–‰ν•˜λŠ” 방식

3. 동기와 λΉ„λ™κΈ°μ˜ 차이

μžλ°” μŠ€ν¬λ¦½νŠΈλŠ” 단일 μŠ€λ ˆλ“œ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ‘œ 단일 호좜 μŠ€νƒμ΄ μžˆμ–΄ ν•œ λ²ˆμ— ν•˜λ‚˜μ˜ 일을 μ²˜λ¦¬ν•  수 있기 λ•Œλ¬Έμ— 동기 λ°©μ‹μœΌλ‘œ 진행이 λœλ‹€

<script>
var fs = require('fs');
//동기
console.log(1);
var data = fs.readFileSync('data.txt', {encoding: 'utf8'});
console.log(data); //data
//1 data

//비동기
console.log(2);
fs.readFile('data.txt', {encoding: 'utf8'}, function(err, data) {
    console.log(3);
    console.log(data); //data
})
console.log(4);
//2 4 3 data
</script>

πŸ“™ Promise 객체

μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ 콜백 λ‘œμ§μ„ νŽΈν•˜κ²Œ μ‚¬μš©ν•  수 μžˆλ„λ‘ κ°„νŽΈν™”ν•œ 것

new Promise();
  1. Pending(λŒ€κΈ°) : 비동기 처리 둜직이 아직 μ™„λ£Œλ˜μ§€ μ•Šμ€ μƒνƒœ
  2. Fulfilled(이행) : 비동기 μ²˜λ¦¬κ°€ μ™„λ£Œλ˜μ–΄ ν”„λ‘œλ―ΈμŠ€κ°€ κ²°κ³Ό 값을 λ°˜ν™˜ν•΄μ€€ μƒνƒœ
  3. Rejected(κ±°λΆ€) : 비동기 μ²˜λ¦¬κ°€ μ‹€νŒ¨ν•˜κ±°λ‚˜ 였λ₯˜κ°€ λ°œμƒν•œ μƒνƒœ

βœ” Promiseλ₯Ό μ‚¬μš©ν•˜λ©΄ ν•œ 블둝 내에 λ§Žμ€ 쀑첩 ν•¨μˆ˜λ₯Ό 쓰지 μ•Šκ³ λ„ 비동기 μ²˜λ¦¬κ°€ κ°€λŠ₯ν•˜λ‹€

profile
κ°€λΏ‘μ΄μ˜ 곡뢀 μƒμžπŸ“¦

0개의 λŒ“κΈ€

κ΄€λ ¨ μ±„μš© 정보