第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

是否可以將系統(tǒng)輸出放入 javascript 中的 var 中?

是否可以將系統(tǒng)輸出放入 javascript 中的 var 中?

有沒(méi)有辦法將系統(tǒng) shell 輸出的結(jié)果放入 var 中,例如:exec('echo test', (error, stdout, stderr) => {  if (error) {    console.error(`exec error: ${error}`);    return;  }  console.log(`stdout: ${stdout}`);});并將控制臺(tái)日志輸出保存到 var
查看完整描述

1 回答

?
瀟湘沐

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個(gè)贊

有幾種方法!首先,您應(yīng)該注意,在上面的示例中,標(biāo)準(zhǔn)輸出已經(jīng)在適當(dāng)命名的變量中可用:


exec('echo test', (error, stdout, stderr) => {

  if (error) {

    console.error(`exec error: ${error}`);

    return;

  }

  console.log(`stdout: ${stdout}`); // right here

});

但是,我假設(shè)您希望能夠在回調(diào)之外訪問(wèn)該值。您可以依靠exec返回 a的事實(shí),ChildProcess而后者又公開(kāi)了一個(gè)表示進(jìn)程標(biāo)準(zhǔn)輸出的可讀流:


const subprocess = exec('echo test')

let stdout = "";

subprocess.stdout.on('data', (chunk) => {

  stdout += chunk.toString();

});

subprocess.stdout.on('end', () => {

  console.log(`stdout: ${stdout}`); // stdout is now complete

});

但是您還應(yīng)該注意,盡管從技術(shù)上講,該變量可以在回調(diào)之外訪問(wèn),但實(shí)際上直到另一個(gè)回調(diào)之后才準(zhǔn)備好。這是因?yàn)閑xec是異步的,所以它的結(jié)果同樣需要異步訪問(wèn)。


如果這給您的用例帶來(lái)了問(wèn)題,一種替代方法是使用同步執(zhí)行您的子進(jìn)程execSync,在這種情況下,您的 stdout 只是直接從調(diào)用中作為緩沖區(qū)返回:


const stdout = execSync('echo test').toString();


查看完整回答
反對(duì) 回復(fù) 2022-01-20
  • 1 回答
  • 0 關(guān)注
  • 152 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)