summaryrefslogtreecommitdiff
path: root/using_Q/execute-cmd.js
diff options
context:
space:
mode:
Diffstat (limited to 'using_Q/execute-cmd.js')
-rw-r--r--using_Q/execute-cmd.js29
1 files changed, 15 insertions, 14 deletions
diff --git a/using_Q/execute-cmd.js b/using_Q/execute-cmd.js
index 37b61eb..6acf9c9 100644
--- a/using_Q/execute-cmd.js
+++ b/using_Q/execute-cmd.js
@@ -3,21 +3,22 @@ var childProcess = require("child_process");
function dumper(content){
console.log(JSON.stringify(content));
}
-function execute(cmd){
- var deferred = Q.defer();
- var result = {};
- var sh = childProcess.exec(cmd, function(error, stdout, stderr){
- console.log(stdout)
- result.stdout = stdout;
+//okay...this works...I had to cut out sh.on...does this seem alright? hope so
+//when I use sh.on("exit",...) for whatever reason it isn't working, do you have an idea of why? shouldn't it be childProcess.on() instead? no
+function execute(cmd){
+ var deferred = Q.defer();
+ var result = {};
+ var sh = childProcess.exec(cmd, function(error, stdout, stderr){
+ result.stdout = stdout;
result.stderr = stderr;
result.error = error;
- deferred.resolve(result);
- });
-// sh.on("exit", function(){
-// console.log(result.stdout)
-// });
- return deferred.promise
+ });
+ sh.on("close", function(){
+ deferred.resolve(result);
+ });
+ return deferred.promise
}
-
execute("echo bitches").then(function(result){ dumper(result) });
-//DO NOT USE sh.on
+//DO NOT USE sh.on("exit"...
+//so instead of exit, "close" event. exit will just says that child exited, and i gues sonly after emitting this event
+//childproicess start to push data to stdout callback. great