티스토리 뷰
nodejs를 접하기 시작하면서 '비동기'에 관한 문제는 지속적으로 발생하였다.
구글링을 하면서 어찌저찌 해결은 했는데
제대로 하고 있는지는 모르겠지만 일단 킵.
//비동기 함수를 컨트롤하는 함수 *async*
exports.control_function = async function (req, res) {
var functionA = await function_A(req);
var functionB = await function_B(req);
result_arr['resultA'] = functionA;
result_arr['resultB'] = functionB;
res.send(result_arr);
}
function function_A(req){
var query = util.format(queryA);
var request = new mssql.Request(pool);
return new Promise(function(resolve, reject){
console.log(query);
request.query(query, function(err, result){
if(err) throw err;
resolve(result.recordset);
})
})
}
function function_B(req){
var query = util.format(queryB);
var request = new mssql.Request(pool);
return new Promise(function(resolve, reject){
console.log(query);
request.query(query, function(err, result){
if(err) throw err;
resolve(result.recordset);
})
})
}
여기서 중요한 부분은 컨트롤 함수의 async와 promise-await
promise-await를 통해 쿼리가 완료될 때 까지 기다렸다가 값을 가져오고 다음 스텝으로 넘어갈 수 있게 된다.
'spring memo' 카테고리의 다른 글
[javascript] image resize (0) | 2019.10.24 |
---|---|
input에 전화번호 하이픈(-)넣기 (1) | 2019.10.24 |
web에서 ftp연결 (0) | 2019.10.24 |
map <-> json으로 변환 (0) | 2018.08.29 |
scope 데이터 바인딩 (0) | 2018.08.23 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Props
- hashmap
- javascript
- script
- 리액트
- 함수형
- Redux
- value
- JSON
- Progressbar
- paging
- 클래스형
- list
- 스프링
- date
- module
- nodeJS
- JSP
- angular
- html
- input
- datePicker
- typescript
- React
- JSX
- ajax
- webpack
- Spring
- hooks
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함