2015-08-24 3 views
0

Мне нужно выполнить эти процессы в порядке, но я не знаю, как это сделать в nodeJS. Я знаю, что это простой вопрос, но я новичок в nodeJS, поэтому любая помощь будет оценена.Проблема обратного вызова NodeJS

var pictureID=0; 
     var name2=0; 

      getData(); 

      function getData() { 
       req.pipe(req.busboy); 
       getFile(); 


       function getFile() { 
        req.busboy.on('file', function (fieldname, file, filename, encoding, mimetype) { 
         console.log('File [' + fieldname + ']: filename: ' + filename); 
         var gfsstream = gfs.createWriteStream('pic'); 
         file.pipe(gfsstream).on('finish', function() { 
          console.log('File [' + fieldname + '] Finished'); 
          console.log(gfsstream.id); 
          pictureID = gfsstream.id; 
          console.log('picture ID is:' + pictureID); 
         }); 
        }); 
        getField(); 
       } 

       function getField() { 
        req.busboy.on('field', function (fieldname, val, fieldnameTruncated, valTruncated) { 
         console.log('Field [' + fieldname + ']: value: ' + inspect(val)); 
         var name2 = 'david'; 
        }); 
        finished(); 
       } 

       function finished() { 


       req.busboy.on('finish', function() { 
        console.log('Done parsing form!'); 
        console.log('Picture id is:' + pictureID + ' name' + name2); 
       }); 
       saveData(); 
      } 

      } 
+0

Будем надеяться, что ответ на этот вопрос [] (http://stackoverflow.com/questions/19739755/nodejs-callbacks-simple-example) относительно обратных вызовов в node.js. – Mark

ответ

0

Вот то, что вы могли бы искать, дайте мне знать, если он работает, как ожидалось

var pictureID=0; 
var name2=0; 

getData(); 

function getData() { 
    req.pipe(req.busboy); 
    getFile(getField); 

} 
var getFile=function(callback) { 
    req.busboy.on('file', function (fieldname, file, filename, encoding, mimetype) { 
     console.log('File [' + fieldname + ']: filename: ' + filename); 
     var gfsstream = gfs.createWriteStream('pic'); 
     file.pipe(gfsstream).on('finish', function() { 
      console.log('File [' + fieldname + '] Finished'); 
      console.log(gfsstream.id); 
      pictureID = gfsstream.id; 
      console.log('picture ID is:' + pictureID); 
      callback(finished); 
      //getField(); 
     }); 

    }); 

} 
var getField=function(callback) { 
    req.busboy.on('field', function (fieldname, val, fieldnameTruncated, valTruncated) { 
     console.log('Field [' + fieldname + ']: value: ' + inspect(val)); 
     var name2 = 'david'; 
     callback(); 
     //finished(); 
    }); 

} 
var finished=function (callback) { 
    req.busboy.on('finish', function() { 
     console.log('Done parsing form!'); 
     console.log('Picture id is:' + pictureID + ' name' + name2); 
     callback(saveData); 
     //saveData(); 
    }); 

} 
+0

Спасибо, что делает эту работу. Это помогло мне понять узел намного больше. – onemillion

Смежные вопросы