我有一个执行流程问题,其中有nodejs子进程

佩德罗·Expedito

我想制作一个函数,该函数接收作为输入的String并以字符串形式返回给我输出,但是由于响应延迟,我无法执行

var resultado = "old value";

function execShell(cmd) {

exec("uname", (error, data, getter) => {
  if(error){
    console.log("error",error.message);
    return;
  }
  if(getter){
    console.log("data",data);
    return;
  }
  console.log(`need before exec: ${data}`);
  resultado = data;

});
}

/* shell command for Linux */

execShell('uname');

console.log(`need after exec: ${resultado}`);
斯塔尔

这里发生的是,没有从上到下执行回调。这意味着在子进程尚未返回console.log(need after exec: ${resultado});之后立即调用execShell

您可以使用同步版本执行它:

const cp = require("child_process");
const result = cp.execSync("uname").toString(); // the .toString() is here to convert from the buffer to a string
console.log(`result after exec ${result}`);

这些文档是https://nodejs.org/dist/latest-v14.x/docs/api/child_process.html#child_process_child_process_execsync_command_options

如果您要构建的是NPM包,则可以使用它来帮助处理Shell:https//github.com/shelljs/shelljs,它使用更简单的API封装了许多子流程部件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

python:我有一个列表,其中有逗号分隔的元素,我想获得唯一的元素

我有一个行表,其中有复选框。如何选择特定的复选框

我有一个数据表,其中有一个带有十进制值的列

Javascript返回一个空数组,但其中有两个元素

如何在 Excel 中引用完整的列,其中有一个值

发布一个实体与Spring数据REST其中有关系

使用 NewMailEx 处理一个帐户,其中有多个帐户

防止用户选择日期范围,其中有一个禁用的日期之间

当其中有一个按钮时,使div背景可点击

我有一个 alertDialog,其中有复选框。我想保留用户签入的复选框的值

选择一个div内的第一个div,但前提是其中有10个

如何让 Excel 从右到左读取并找到第一个案例,其中有一个“X”

我们怎么可以拆分数据输入,其中有些是由一个空间,部分有2空格分开?

我有一个Excel文件。在其中有多个列和行的情况下,如何根据ggplot的行过滤列

求一个N ^ 2个数字的中位数,其中有N个记忆

如何查找此数组是否有重复的对象,其中有另一个数组

我如何处理一个购物篮,其中有很多产品的成本计算可能不同

我需要一个应用程序屏幕,其中有一个图标网格(可点击)、一个横幅和一个项目列表视图

一个laravel文件夹,其中有许多基于链接的数据库

Excel如何将筛选器应用于其中有一个值的列?

创建一个列表,其中有用户单击并悬停一个元素的按钮,以打开另一个

Laravel Eloquent的数据透视表,其中有一个表的2个外键和另一个表的1个外键

我在NodeJS中有一个关于文件处理的问题

一个查询中有问题的子查询

Python Seleinum 查找特定类的div,如果其中有另一个div,则找到第三个div并复制其中的文本

PHP preg_split添加了一个空数组键,该键不能被array_filter清除,因为其中有一个“空格”

如何调用其中有一个自定义的复杂对象类型作为从Java输入参数一个Oracle PL-SQL过程

您好,我正在使用“收藏夹视图”单元格,我想记录一下其中有多少个被单击为“ true”并返回到下一个视图控制器

我可以在其中有一个具有完整系统的第二个分区,并用FileVault / Truecrypt /任何方式加密吗?