728x90
반응형
function getSentence(data) {
return new Promise(resolve => {
const charData = [];
db.collection(data).orderBy('ch_name').limit(25)
.get()
.then((r) => {
r.forEach((doc) => {
charData.push(doc.data().ch_sentence)
})
resolve(charData);
})
.catch(error => {
res.send(error.message)
})
})
}
charData가 push로 합쳐지지만,
각각 foreach문을 거칠 때마다 새로운 배열이 생성된다
function getSentence(data) {
return new Promise(resolve => {
const charData = [];
db.collection(data).orderBy('ch_name').limit(25) // 25개만
.get()
.then((r) => {
r.forEach((doc) => {
charData.push(...doc.data().ch_sentence) // 전개 연산자
})
resolve(charData); // Promise 성공
console.log(charData)
})
.catch(error => {
res.send(error.message)
})
})
}
push와 spread operator(전개 연산자)를 한번에 사용해
배열이 하나로 합쳐지도록 한다.
반응형
'JavaScript > JS & TS' 카테고리의 다른 글
[NestJS]TypeORM과 DB 컬럼 명명 규칙 (0) | 2023.09.21 |
---|---|
[Javascript] 원시타입 & 참조타입 (Primitive & Reference) 비교 (0) | 2023.02.17 |
summernote.js 용량 제한 수정 (0) | 2023.01.09 |
카카오 파이어베이스 커스텀토큰 로그인(팝업O) (0) | 2022.10.17 |
카카오 파이어베이스 커스텀토큰 로그인(팝업x) (0) | 2022.08.03 |