假设我有以下任务:
var express=require('express');
var app=express();
var fs=require('fs');
var mongoose = require('mongoose');
var schema = mongoose.Schema;
var userSchema = new schema({
name:{type:String},
id: Number,
grade: Number,
year: Number,
coures:{type:String}
}, {collection: 'json'});
var User= mongoose.model('student',userSchema);
module.exports=User;
//return all students in json
module.exports = function(app) {
app.get('/getAllStudent', function(req,res) {
student.find({},function(err,user){
if(err) throw err;
console.log(User);
mongoose.disconnect();
});
})
当我做这样的事情时:
gulp.task('my-task', function (cb) {
fs.appendFileSync('myPath', 'data');
});
gulp.task('build', function (cb) {
runSequence('my-task', 'some-task',cb);
});
运行并完成,但my-task
永远不会运行。
我的问题是:如何在some-task
完成后some-task
运行?
答案 0 :(得分:1)
你的问题是gulp没有注意到my-task
已经完成。当您声明回调函数cb
时,您必须实际调用回调函数:
gulp.task('my-task', function (cb) {
fs.appendFileSync('myPath', 'data');
cb();
});
或者你可以完全退出回调,因为fs.appendFileSync
是同步的:
gulp.task('my-task', function () {
fs.appendFileSync('myPath', 'data');
});