Gulp 在异步调用后停止发出任务
我正在使用gulpGulp 在异步调用后停止发出任务,gulp,Gulp,我正在使用gulprun sequence,我的一项任务包括对Web服务的自定义远程调用,我不希望gulp在完成之前继续运行,但是它会立即继续运行,因为我没有正确的返回 gulp.task('upload', function() { fs.readFile('./dist.zip', { encoding: 'base64' }, function(err, data) { params['ZipFile'] = data; lambda.updat
run sequence
,我的一项任务包括对Web服务的自定义远程调用,我不希望gulp在完成之前继续运行,但是它会立即继续运行,因为我没有正确的返回
gulp.task('upload', function() {
fs.readFile('./dist.zip', { encoding: 'base64' }, function(err, data) {
params['ZipFile'] = data;
lambda.updateFunctionCode(params, function(err, data) {
return true;
});
});
});
// Our default task will build a production copy, then upload to Lambda
gulp.task('default', function(callback) {
return runSequence(
['clean'], ['js', 'npm', 'env'], ['zip'], ['upload'],
callback
);
});
您需要在“上载”任务中使用回调,以便在任务完成时发出信号。像这样:
gulp.task('upload', function(callback) {
fs.readFile('./dist.zip', { encoding: 'base64' }, function(err, data) {
params['ZipFile'] = data;
lambda.updateFunctionCode(params, function(err, data) {
callback();
});
});
});
另外,别忘了检查上述fs.readFile和lambda.updateFunctionCode:if(err).啊,谢谢你没有意识到我可以将回调传递给该函数。Re:错误检查,为了可读性,我删除了一个巨大的代码块:)