node.js - 基于布尔返回函数的模块不返回正确的函数
问题描述
我正在使用这个库来控制我的脚本中的 ffprobe。为了避免在我的脚本中创建更多子进程,我需要使用库中命令的同步版本。根据文档,它应该像设置一样简单probe.SYNC = true
。
但是,无论probe.SYNC
调用探测函数的值如何,总是使用doProbe
而不是使用doProbeSync
。
// index.js
import probe from 'node-ffprobe';
probe.SYNC = true;
let data = probe('video.mp4'); // Incorrectly calls doProbe()
// node-ffprobe.js
module.exports = (function () {
function doProbeSync(file) {
...
}
function doProbe(file) {
...
}
return module.exports.SYNC ? doProbeSync : doProbe
})()
我认为这可能不起作用的唯一原因是因为我的脚本是用 ES6 语法编写的,但我不确定这会如何影响这一点。
如何让 node-ffprobe 库使用doProbeSync
?
解决方案
推荐阅读
- sql - 如何在 SQL SSRS 中执行双 case/switch 语句?
- easyphp - 如何向 EasyPHP DevServer 添加额外的 PHP 版本
- android - Android Studio 变量未出现在 OnClickListener 正文中
- sql - 每个 ID 仅选择一个值 - SQL Server
- c# - 将文本分成 3 部分
- r - 如何从 R 中的 HDFS 读取镶木地板文件
- c++ - 为什么 cout 给出不同的值
- c# - 如何使用通用主机 (HostBuilder) 为 .NET Core 控制台应用程序设置托管环境名称
- docker - Docker“无法绑定到”
- python - 在 Pandas 中将多列中的多行压缩为一行