[英]Undefined 'callback' with Async Waterfall / Node.js
我正在嘗試使用Async在Node.js中使用瀑布,但我一直收到錯誤
回調(null,articleDataSafe,req); ^ TypeError:未定義不是函數
代碼如下
async.waterfall([
function sanitizeData (articleData, req, callback) {
articleDataSafe = sanitizeArticle(articleData);
console.log('s1');
callback (null, articleDataSafe, req);
},
function _validateData (articleDataSafe, req, callback) {
var errors = validateArticle(articleData);
var err = null;
if(errors.length > 0){
// return error messages back to the browser
err = JSON.stringify({'error': errors, "message": "fail"});
};
console.log('s2');
callback (err, articleDataSafe, req);
},
function _saveArticle (articleDataSafe, req, callback) {
// work out the tags hash
var tags = articleDataSafe['tags'];
var tagsArray = tags.split(",");
tagsArray.sort();
var tagsString = tagsArray.join();
var hashedTags = sha512(tagsString);
articleDataSafe['hashedTags'] = hashedTags;
// then save the articles
var savedArticle = saveArticle(req, articleDataSafe);
console.log('s3');
if(!savedArticle){
var err = JSON.stringify({'error': 'notSaveArticle', 'message': 'fail'});
}
callback (err, articleDataSafe);
},
function _saveTags (articleDataSafe, callback) {
var tagsDone = saveTags(articleDataSafe);
if(tagsDone.length > 0){
// return error messages back to the browser
var err = JSON.stringify({'error': tagsDone, "message": "fail"});
};
console.log('s4');
callback (err, articleDataSafe);
},
function _saveTagSets (articleDataSafe, callback) {
var tagSetsDone = saveTagSets(data);
if(tagSetsDone.length > 0){
// return error messages back to the browser
var err = JSON.stringify({'error': errors, "message": "fail"});
};
console.log('s5');
callback (err, articleDataSafe);
}
], function (error, success) {
var responseMessage = {'error': '', "message": "success"};
if (error) {
responseMessage = error;
}
res.end(JSON.stringify(responseMessage));
});
任何人都可以解釋出什么問題了。 我已經嘗試了很長時間了,以使其無法正常運行。
任何幫助將不勝感激。
謝謝,Cs1h
除了回調外,第一個函數不會傳遞任何其他參數 。 您需要像這樣開始:
async.waterfall([
function sanitizeData (callback) {
// ^^^^^^^^^^ no articleData, no req
articleDataSafe = sanitizeArticle(articleData);
console.log('s1');
callback (null, articleDataSafe, req);
},
…
但是我懷疑您根本不需要異步。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.