화살표 함수 문의
376
작성한 질문수 17
화살표 함수 관련 문의 드립니다.
화살표 함수 내에 결과값은 배열로 응답이 오는데 화살표 함수 외부에 선언된 값은
배열로 응답이 오지 않습니다. 방법을 찾아보았는데 해결하지 못하여 문의 드립니다.
const ReadExcelSheet = async excelFile => {
const wb = new Excel.Workbook()
const reader = new FileReader()
let excelDataList = []
reader.readAsArrayBuffer(excelFile)
reader.onload = () => {
const buffer = reader.result
wb.xlsx.load(buffer).then(workbook => {
const sheet = workbook.getWorksheet(1)
let row_num = 13
sheet.eachRow((row, rowIndex) => {
let resultData = {}
resultData.title = row.getCell(3).text
excelDataList.push(resultData)
})
console.log(excelDataList); //여기서는 배열로 로그에 남음
})
}
console.log(excelDataList); //여기서는 배열로 남지 않음
return excelDataList
}
답변 2
0
- 화살표함수는 본 강의에서 다루지 않는 내용입니다.
- 만족스러운 답변을 받으려면 최소한의 성의를 보여주세요. 코드를 알아볼 수 있게 인덴트 정도는 맞춰주십시오.
위 이유들로 인해 답변드리고 싶은 생각이 들지 않는데, 그럼에도 불구하고 답변을 드려 보겠습니다.
이런 식으로 강의와 무관한 내용을 최소한의 성의도 없이 무례하게 질문하시는 분들이 종종 계시는데 ,
강사 입장에서는 기분이 좋지 않을 수밖에 없다는 점 알아주시고 조심해 주시면 좋겠습니다.
코드를 살펴본 바, 화살표함수라서 문제가 아니라 콜백함수의 의미를 정확히 인지하지 못하고 계신 것 같습니다.
onload = () => { ... } 부분은 reader의 로딩이 완료된 시점에서야 비로소 호출되는 함수로 보이는데, 마지막줄에서의 excelDataList는 해당 콜백함수가 호출되기 전에 먼저 실행되어 버리므로, 배열 요소는 비어있는게 당연합니다.
인스턴스에서 prototype 프로퍼티에 직접 접근해야하는 이유
0
59
1
setTimeout 에서 this
0
82
1
2강부터 영상이 나오지 않습니다.
0
176
1
자바스크립트 주석에 이상한 점이 있어서 문의드립니다.
0
222
2
return 문 안에 여러 함수가 존재하는 것이 이해되지 않습니다.
1
259
1
클래스 static 멤버
1
253
1
실행컨텍스트와 스택프레임
2
569
1
프로토타입으로 상속할때 브릿지 사용 이유
0
321
1
호이스팅 관련 질문
1
335
1
책 66p. 예제 3-2 질문입니다.
0
356
1
강의 내용 10:58 캡슐화 질문입니다.
1
399
1
강의 내용 5:10 질문입니다.
1
422
2
전역 공간에서의 this
0
427
2
18:31 addEventListener의 this
1
482
1
outerEnvironmentReference 질문
1
372
1
실행 컨텍스트와 클로저에 대해 질문드립니다.
1
449
1
Object.prototype.constructor의 [[prototype]] ?
1
658
1
함수를 값으로 할당할 때
2
459
1
15:54 'ddd' 사라지는 오류?
4
375
1
프로토타입 getPrototypeOf(instance).constructor(n,a) 질문입니다.
1
406
1
기본형/가변형 질문입니당
0
334
0
선생님 그러면 섹션 0만 봐도 무방한가요!?
0
338
1
Hoisting과 environmentRecord에 관한 질문입니다.
1
294
1
안녕하세요, 데이터 변경 질문입니다.
0
330
1





