我希望有人可以帮助我解决我的问题,以从这个函数中取回拒绝值:
(async () => {
await queue.add(() => startCompare(orgpath, dpath, xray));
console.log('done compare ' + entry);
})();
这调用函数:
async function startCompare(orgFile, compFile, xFile)
{
let gstderr;
return new Promise((resolve, reject) => {
spawn('compare', [orgFile, compFile, '-metric', 'AE', 'null:'])
.progress(function (childProcess) {
childProcess.stdout.on('data', function (data) {
console.log('[spawn] stdout: ', data.toString());
});
childProcess.stderr.on('data', function (data) {
gstderr = data.toString();
console.log('[spawn] stderr: ', data.toString());
});
}).then(res => {
resolve(true);
}).catch(error => {
resolve(gstderr);
});
});
}
我的目标是在被拒绝时如何取回 gstderr 值。也许箭头功能是错误的方式?我想在以下位置打印值:console.log('done compare ' + entry + xxxxx);
其中 xxxxx 是被拒绝的值。