[問題] Node.js child.on("end")範例的Done印不出來

作者: youtuuube000 (小孩)   2016-11-04 18:25:29
各位好
我在跑書上的範例
var child_process = require("child_process");
var ls = child_process.spawn("ls",["-l"]);
ls.stdout.on("data",function(data)
{
console.log(data);
});
ls.on("end",function(code)
{
console.log("Done");
});
當程式跑完後他卻一直沒辦法印出Done這個字
想請問是出了什麼問題呢?
用ls -l在command line下跑結果跟這程式的結果一模一樣
但照理來說跑完後他應該要印出Done才對卻沒有印出來
先謝謝回答了
作者: djshen (djshen)   2016-11-04 20:03:00
確定有end event?
作者: Hevak (Arthow Eshes)   2016-11-05 02:18:00
應該是書上寫錯?我看了一下NodeJS的文件,child_process的event裡面沒有end,比較接近的應該是exithttps://nodejs.org/api/child_process.html所以你 ls.on('exit' //下略,就能看到你想看到的done
作者: TETZ (你今天宅了嗎?)   2016-11-06 00:53:00
我看了一下我寫過的是用'close'應該也可以

Links booklink

Contact Us: admin [ a t ] ucptt.com