-1
我得到的錯誤是,cb is not a function
。但正如在這段代碼中看到的,在異步瀑布的最終回調中,我調用了cb
,但仍然出現錯誤。異步瀑布最終回調得到函數未找到
function shiftIndex(key, cb) {
async.waterfall([
(readFileCallback) => {
jsonfile.readFile(dataPath, (err, data) => {
if (err) return readFileCallback(err, null, null);
else if (!data) return readFileCallback(new Error('File Empty'), null, null);
else return readFileCallback(null, data, key)
});
},
(data, key, stackCallback) => {
console.log("The KEY is -> " + key);
if (!(key in data)) return stackCallback(new Error("Invalid key"), null);
else{
var items = data[key]
var first = items.shift();
items.push(first);
return stackCallback(null, data);
}
},
(data, writeDataCallback) => {
jsonfile.writeFile(dataPath, data, (e) => {
if (e) return writeDataCallback(e, false, null);
else return writeDataCallback(null, true, data);
})
}
],
(e, success, data) => {
if (e) return cb(e, false, null);
return cb(null, true, data);
}
)}
檢查您是否將函數傳遞給'shiftIndex'。 –
我該如何檢查?這是我第一次寫異步瀑布 – XPLOT1ON
函數shiftIndex(key,cb){console.log(cb)'必須打印'Function'。在這種情況下,您可以避免使用異步庫。 –