【发布时间】:2015-06-10 17:09:55
【问题描述】:
问题太宽泛/不清楚。任何对此答案感兴趣的人都可以访问: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;
}
它使用基础-cli。新命令执行以下异步系列。我很想在包中添加一个回调 - 仍然不太确定如何。
async.series(任务,完成);
对此感兴趣的任何人都可能获得以下信息:
【问题讨论】:
-
CLI 文档是否提到了完成回调?
-
他们没有提到完成回调。我愿意修改包以添加此功能,但我觉得我参加了一个我从未参加过的课程的决赛。
-
这里的
CLI是什么?除非你更具体,否则不可能知道它能做什么。如果可以编辑它,为什么不添加回调参数?值得注意的是,promises 通常更易于使用,您可以将它们链接在一起:CLI.new(...).then(...).then(...) -
你能链接到你为
CLI使用的模块吗?看似显而易见的clipackage 似乎不是您使用的。 -
foundation-cli似乎不打算用作 API,仅用作命令。您可能会submit an issue 要求提供回调选项。
标签: node.js