问题太广泛/不清楚。任何对此答案感兴趣的人都可以访问:Creating Callbacks for required modules in node.js
基本上我在我的节点应用程序中包含了一个CLI包。我需要CLI来启动一个新项目(这需要为项目创建一个文件夹)。创建项目文件夹后,我需要在文件夹中创建一些文件(使用fs writeFile)。问题是现在,我的writeFile函数在CLI包创建文件夹之前执行(这是我的console.log检测到的。这让我想到了主要的主要问题。
我可以在不修改我包含的软件包的情况下向CLI.new添加异步回调函数吗?
FoundationCLI.new(null, {
framework: 'sites', // 'apps' or 'emails' also
template: 'basic', // 'advanced' also
name: projectName,
directory: $scope.settings.path.join("")
});
try{
if (!fs.existsSync(path)){
console.log("DIRECTORY NOT THERE!!!!!");
}
fs.writeFileSync(correctedPath, JSON.stringify(project) , 'utf-8');
} catch(err) {
throw err;
}
它使用foundation-cli。新命令执行以下异步系列。我喜欢在软件包中添加一个回调 - 仍然不太确定如何。
async.series(任务,完成);
任何对此感兴趣的人都可能获得里程:
答案 0 :(得分:0)
new
命令的代码似乎可以在https://github.com/zurb/foundation-cli/blob/master/lib/commands/new.js
这段代码的编写不允许以编程方式使用new
命令(它在任何地方使用console.log),并且在工作完成时不会调用任何回调。
所以没有办法使用这个包来做你想要的。要么修补包裹,要么找另一种方法去做你想要达到的目的。