Skip to content

Commit 4539ccc

Browse files
committed
wait for forked streams to end before resolving promise
1 parent e117315 commit 4539ccc

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

lib/fork.js

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,23 @@ module.exports = function (args) {
6767
ps.emit('data', data);
6868
});
6969

70-
promise.on = function () {
70+
var stdout = new Promise(function (resolve) {
71+
ps.stdout.on('end', resolve);
72+
});
73+
74+
var stderr = new Promise(function (resolve) {
75+
ps.stderr.on('end', resolve);
76+
});
77+
78+
var endPromise = Promise.all([promise, stdout, stderr]).then(function (result) {
79+
return result[0];
80+
});
81+
82+
endPromise.on = function () {
7183
ps.on.apply(ps, arguments);
7284

73-
return promise;
85+
return endPromise;
7486
};
7587

76-
return promise;
88+
return endPromise;
7789
};

0 commit comments

Comments
 (0)