所以我正在开发一个从cli运行更新任务的nodejs任务
我的代码片段
var
npm,
grunt,
async,
path,
which,
color,
isRoot,
progressBar,
EventEmitter,
exec,
utils,
format;
function loadDependencies() {
npm = require('npm');
grunt = require('grunt');
async = require('async');
path = require('path');
which = require('which');
color = require('cli-color');
isRoot = require('is-root');
progressBar = require('progress');
EventEmitter = require("events").EventEmitter;
exec = require('child_process').exec;
utils = require('../utils');
format = require('util').format
}
// Expose my module
module.exports = update;
function update(args, options, callback, ee){
//Load all my deps
loadDeps();
// Create my array
var taskCollection = [];
// Convert the update object with its functions into an array
for(var tasks in update){
taskCollection.push('update.' + tasks);
}
**玩完之后我决定尝试在这里添加以下数组**
taskCollection = [update.one, update.two];
它按原样运行任务,所以我现在只能假设它是如何制作我的阵列
//And this is were im stuck *
async.series(taskCollection,
function(err,result){
console.log(error);
console.log(result);
});
}
update.one = function(callback){
callback(null, 'Update One Complete);
}
update.two = function(callback){
callback(null, 'Update Two Complete);
}
现在的想法是,我的更新对象会自动填充异步运行的任务列表,这意味着这样的事情
update.bower = function(){}
update.grunt = function(){}
将由异步运行,但其他任务如
var getVersion = function(){}
当我想在我创建的任务数组上运行异步时,问题就来了我不断得到错误任务()不是函数
我试图使用
async.series(taskCollection, finish);
以及某种
的变体async.each(taskCollection);
最终目标是将添加一个进度条,因此每个函数的回调都将调用progress.tick(),其中的滴答数将从任务列表中自动计算
前进的最佳方式是什么? 哪个async(NodeJs Version)任务是最好的系列,因为我希望它们按顺序排列,因为它们是一个函数数组?
先谢谢我把头撞在墙上
更新!!
错误是从async.js生成的:718并说
task(_restParam(function (err,args))) {
^
TypeError: task is not a function
答案 0 :(得分:0)