【发布时间】:2012-02-17 07:35:02
【问题描述】:
我想让这个函数在 var 中返回 exec 命令的结果。我该怎么做呢?
// System Serial Number
function systemSerialNumber(response) {
console.log("Request handler 'systemSerialNumber' was called.");
exec("dmidecode -t 1 | grep 'Serial Number:' | cut -d: -f2 | sed -e 's/^[ \t]*//g'", function (error, stdout, stderr) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write(stdout);
response.end();
});
}
【问题讨论】:
-
源代码的格式很差,所以从技术上讲,您将第一个函数(我假设是您正在谈论的函数)注释掉了。但是,您要求的是将此异步调用转换为同步调用,这在像 Node.js 这样的cooperatively scheduled 事件系统上是个坏主意。我认为您需要重新考虑您的预期 API。