Skip to content

Commit 5fc727f

Browse files
committed
Don't resolve twice
1 parent eef93d6 commit 5fc727f

File tree

1 file changed

+18
-4
lines changed

1 file changed

+18
-4
lines changed

src/cp.ts

+18-4
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ export class Cp {
3535
command.push(srcPath);
3636
const writerStream = fs.createWriteStream(tmpFileName);
3737
const errStream = new WritableStreamBuffer();
38+
let resolved = false;
3839
return new Promise<void>((resolve, reject) => {
3940
this.execInstance
4041
.exec(
@@ -60,15 +61,21 @@ export class Cp {
6061
file: tmpFileName,
6162
cwd: tgtPath,
6263
});
63-
resolve();
64+
if (!resolved) {
65+
resolved = true;
66+
resolve();
67+
}
6468
} catch (e) {
6569
reject(e);
6670
}
6771
},
6872
)
6973
.then((conn) => {
7074
conn.on('close', () => {
71-
resolve();
75+
if (!resolved) {
76+
resolved = true;
77+
resolve();
78+
}
7279
});
7380
})
7481
.catch(reject);
@@ -96,6 +103,7 @@ export class Cp {
96103
await tar.c({ file: tmpFileName, cwd }, [srcPath]);
97104
const readStream = fs.createReadStream(tmpFileName);
98105
const errStream = new WritableStreamBuffer();
106+
let resolved = false;
99107
return new Promise<void>((resolve, reject) => {
100108
this.execInstance
101109
.exec(
@@ -116,13 +124,19 @@ export class Cp {
116124
),
117125
);
118126
} else {
119-
resolve();
127+
if (!resolved) {
128+
resolved = true;
129+
resolve();
130+
}
120131
}
121132
},
122133
)
123134
.then((conn) => {
124135
conn.on('close', () => {
125-
resolve();
136+
if (!resolved) {
137+
resolved = true;
138+
resolve();
139+
}
126140
});
127141
})
128142
.catch(reject);

0 commit comments

Comments
 (0)