Open muf opened 6 years ago
비동기 처리는 io exception 등이 있을 때만 처리 되는 것인가? 기본적으로는 한줄 한줄 처리?? 아니면 모든 함수가 호출하고 바로 넘어간다?
function myLoop(){
var a = 10000
for(var i = 0; i < a; i++ ){console.log("!@#")}
}
myLoop()
console.log("123")
출력하면 순서대로 된다. 비동기 처리는 http 요청 등에서만 되는건가? 가 아니라 노드에서 처리가 그렇게 되는거구나.. 잠만.. 헷갈리지 맙시다
-> 일단 노드도 for문은 상관없다. 해봣음. 같은 결과 비동기 요청이나 비동기 함수만 비동기인듯
var express = require('express')
var router = express.Router()
var app = express();
var async = require('async');
var dir = new Map();
dir.set('view', __dirname +"/../view/")
dir.set('private', __dirname +"/../private/")
var bash = require(dir.get('private') + 'javascript/common/bash.js')
var count = 0
// @ handle bash requests
router.get('/newServiceRequest',function(req, res, next) {
// executor 실행
async.waterfall([
function(callback) {
// bash.runExecutor(function(proc){
// count ++;
// console.log(count)
// callback(null, proc.pid )
// })
count++
callback(null, count)
},
// function(pid, callback) {
// var pid = bash.getRealPid(pid, function(pid){
// callback(null, pid )
// })
// }
// function(pid, callback) {
// var port = bash.getPortByPid(pid,function(data){
// calllback(null, {pid:data.pid, port:data.port})
// })
// },
], function (err, count) {
// result now equals 'done'
res.json(count)
});
})
// @app use
app.use(function(err, req, res, next) {
console.log("error check");
console.log(err);
})
module.exports = router
이 전역 변수는 값이 유지가 된다
실패했던 이유.. 근데 실행 시킬 녀석의 옵션을 표시가 잘안되던 와중.. exec는 그냥 넣으면 실행된다..
결론.. 이걸로..
var proc = spawn('node',['/Users/junghyun.park/Desktop/git/KHU-2017-2-Capstone2-RENEW/app.js', '--config=dataGenerator'])