JavaScript를 처음 사용하여 다음과 같은 작업을하려고합니다. 목록을 반복하고 목록의 항목에 종속적 인 데이터베이스 호출을 만들고 싶습니다. 분명히 호출이 비동기 적이기 때문에 for 루프가 끝날 때까지 호출이 반환되지 않으므로 목록이 비어 있습니다.비동기 호출을 사용하여 for 루프에 배열을 작성하십시오.
C#에서는 데이터베이스 호출을 기다릴 수 있으며 정상적으로 작동합니다. 나는 자바 스크립트 유사한 접근 방법을 찾기 위해 노력했습니다,하지만 난 많은 행운
exports.methodName = (req, res) => {
var itemsToReturn = []
for (let item of list) {
db.all(sql), (err, rows) => {
itemsToReturn.push(rows)
}
}
res.json(itemsToReturn)
}
내가 자바 스크립트에서이가 될 것이다 어떻게 내 데이터베이스
감사 :) 이것에 대해 설명해 드리겠습니다. – Ralt
@Ralt - 여러 비동기 작업을 관리하는보다 현대적인 방법 인 약속이 어떻게 작동하는지 예제를 추가했습니다. – jfriend00
@Ralt - SQLite의 일부 버전처럼 보입니다. db.all()은 이미 두 번째 구현을 사용할 수 있도록 약속을 반환합니다. – jfriend00