2017-07-18 150 views
-1

一個帶有NodeJs的新手。我想使用異步/系列,但我得到這個錯誤:nodejs方法()不是函數

task.save is not a function

這是我的代碼

async.series([ 
(cb) => { 
      Task 
       .findById(id) 
       .then((task) => { 
        //do somethink 
        cb(null, task); 
       }) 
       .catch((err) => { 
        if (err) return res.bad(err); 
       }); 
     }, 
     (task, cb) => { 
      //do somethink 
      task.save((err, data) => { 
       cb(err, data); 
      }); 
     } 
    ], (err, data) => { 
     if (err) return res.bad(err); 
     res.ok(data); 
    }); 
+1

這可能真的是「task.save」不是一個函數。如何控制檯日誌「任務」,看看功能「保存」是對象的方法? – L4reds

回答

0

async.series串聯,執行所有通過功能,但彼此獨立的。

在你的情況下,你有一個依賴關係,即第二個函數取決於前一個函數的結果(通過變量task)。

對於這一點,你需要使用async.waterfall