[TIL]21.06.23

박주홍·2021λ…„ 6μ›” 23일
0

Today I Learned

λͺ©λ‘ 보기
41/104

πŸ‘¨β€πŸ’» 였늘 κ³΅λΆ€ν•œ 것

  • fs.readFile()
  • fs.readFile(파일Path, μ˜΅μ…˜('utf-8'λ“±λ“±), callback)
    
    : callback은 보톡 λ‹€μŒκ³Ό 같이 μ‚¬μš©ν•œλ‹€. fs.readFile의 μ‚¬μš©λ²•μ΄ λ‹€μŒκ³Ό 같이
      λͺ…μ‹œλ˜μ–΄μžˆκΈ°λ•Œλ¬Έμ— ꡰ말말고 따라쓴닀.
    
    fs.readFile(파일Path, μ˜΅μ…˜('utf-8'λ“±λ“±), function(err, data){
    	if(err){
        	callback(err);
        }else{
        	callbakc(data);
        }
    })
    
    : λŠλ‚Œμ΄ Promiseμ“Έλ•Œ μ„±κ³΅μ μœΌλ‘œ μ‹€ν–‰λ˜λ©΄ resolveλ₯Ό,
      μ‹€νŒ¨μ‹œ μ—λŸ¬λ₯Ό λ°˜ν™˜ν•˜λŠ” reject와 λΉ„μŠ·ν•˜λ‹€. 
      
      κ·Έλž˜μ„œ 그런걸까? fs.readfile()은 비동기 λ©”μ†Œλ“œμ΄λ‹€.
    
    



  • Promise.all()
  • const test1 = () => {
    	return new Promise((resove, reject) => {
        		resolve(1);
        })
    }
    
    const test2 = new Promise((resove, reject) => resolve(2);
    
    
    function test(){
    	return Promise.all([test1, test2])
      	.then(el => 
              console.log('test1 : ', el[0], ', test2 : ', el[1]))
    }
    
    // expect output => test1 : 1, test2 : 2
    
    : μœ„μ™€κ°™μ΄ Promise객체λ₯Ό 가지고 resolve둜 값을 λ°˜ν™˜ν•˜λŠ” λ³€μˆ˜λ‚˜
    ν•¨μˆ˜λ₯Ό Promise.all의 인자 κ°’μœΌλ‘œ 배열을 κ°μ‹Έμ„œ λ„£μ–΄μ£Όλ©΄ λ°˜ν™˜κ°’
    λ˜ν•œ 인자λ₯Ό 넣은 μˆœμ„œλŒ€λ‘œ λ°°μ—΄λ‘œ 감싸져 λ‚˜μ˜€κΈ° λ•Œλ¬Έμ— μ €λ ‡κ²Œ μ‚¬μš©ν•΄μ£Όλ©΄ λœλ‹€.
    


  • fetch()

  • fetchλŠ” 객체λ₯Ό μ •λ³΄λ‘œ 가진 데이터λ₯Ό url으둜 λΆˆλŸ¬μ™€ μ‚¬μš©ν•˜κΈ°μœ„ν•΄ μ‚¬μš©λ˜λŠ” λ©”μ†Œλ“œλ‹€. 
    λ˜ν•œ then으둜 λ°˜ν™˜ν•˜λŠ” 건 Promise객체닀 κ±°κΈ°μ„œ jsonνŒŒμΌμ„ 객체둜 λ°”κΏ”μ•Όν•˜λ―€λ‘œ μ½”λ“œ
    λŠ” λ‹€μŒκ³Ό κ°™λ‹€
    
    /* 객체λ₯Ό μ •λ³΄λ‘œ 가진 데이터λ₯Ό url 
    let data = {
    	name: '채린',
        	age: 'λ‚˜λž‘ 동갑' 
    }
    	
    */
    
    
    function test(){
    	return fetch(객체λ₯Ό μ •λ³΄λ‘œ 가진 데이터λ₯Ό url)
      	.then(response => response.json())
      	.then(console.log);	// .then(el => console.log(el))κ³Ό 
      				// 같은 μ½”λ“œ  
    }
      /// expect output => 
      /* 
    {
    	name: '채린',
        	age: 'λ‚˜λž‘ 동갑' 
    }

    아직 이것듀이 λΉ„λ™κΈ°μ μœΌλ‘œ μ–΄λ–»κ²Œ μ“°μ΄λŠ”μ§€ 감이 μ•ˆμž‘νžˆμ§€λ§Œ μ½œλ°±μ§€μ˜₯을 λ²—μ–΄λ‚˜ 가독성이 쒋은 μ½”λ“œλ‘œ κ΅¬ν˜„ν•΄μ€€λ‹€λŠ” 것은 μ•Œμ•˜λ‹€.

    λΉ„λ™κΈ°μ μœΌλ‘œ μ½”λ“œλ₯Ό κ΅¬μ„±ν•œλ‹€λŠ” 것은 μ‹œκ°„μ΄ μ’€ κ±Έλ¦¬λŠ” μ½”λ“œλ₯Ό λ”°λ‘œ μž‘μ—…ν•˜κ²Œ 놔두고 λ‹€λ₯Έ μ½”λ“œλΆ€ν„° μ§„ν–‰ν•˜λŠ” 식이닀. μ§€κΈˆκΉŒμ§€μ˜ μ˜ˆμ‹œλŠ” μΌλΆ€λŸ¬ μ‹œκ°„μ„ μ£Όμ–΄ 늦게 μž‘μ—…λ˜λ„λ‘ν•˜λŠ”λ°, μ œλŒ€λ‘œλœ λΉ„λ™κΈ°μ˜ˆμ‹œμ½”λ“œλ₯Ό λ³΄κΈ°μœ„ν•΄μ„  μ„œλ²„κ³΅λΆ€ν•˜λ©΄μ„œ μ°¨μ°¨ μ•Œμ•„κ°„λ‹€κ³  ν•˜λ‹ˆ,, κΈ°λŒ€λ„ λ˜λ©΄μ„œ 두렡닀,,

    남듀보닀 지식을 λ°›μ•„λ“€μ΄λŠ” ν•™μŠ΅μ†λ„κ°€ 그리 λΉ λ₯΄μ§€ μ•Šμ€ 것을 보아 μ‹œκ°„μ„ κ°ˆμ•„λ„£μ–΄μ•Όκ² λ‹€λŠ” 생각이 μ˜€λŠ˜λ„ λ“€μ—ˆλ‹€..

    μ—΄μ‹¬νžˆ.. ν•˜μž..

    profile
    κ³ ν†΅μ—†λŠ” μ„±μž₯은 μ—†λ‹€κ³  ν•  수 μžˆκ² λ‹€....

    0개의 λŒ“κΈ€