약속을 사용하여 각 단계에서 데이터를 동 기적으로 가져 오는 데이터베이스 테이블을 걷고 싶습니다. 나는 내 코드가 같은 모양해야한다고 생각 :Promise로 테이블 워크/재귀 호출
function get_next_id(the_id) {
return new Promise(function(resolve) {
connection.query(get_parent_query, [ the_id ], function (e, r, f) {
resolve(r[0].from_visit);
});
});
}
var page_id = 60239;
while (page_id > 0) {
get_next_id(page_id).then((i) => page_id = i);
}
이 코드의 문제는 그 즉시 다음 (가) 완료 될 때까지 기다리지 않고 루프 반복합니다.
this answer에서 포스터는 Promise.race()를 사용하거나 약속을 포기하고 async을 사용하도록 제안합니다.
그 대답은 * 2015 년이었다 *. 그 이후로 상황이 바뀌 었습니다 ... –