[英]I use async waterfall, why callback is not a function?
我得到這個:
錯誤:TypeError:回調不是函數
碼:
var async = require('async');
async.waterfall([
(callback) => {
callback(null, 'test');
},
async (value1, callback) => {
const data = await send("http://google.com/search?q="+value1);
callback(null, data); //TypeError: cb is not a function
}
], (err) => {
if (err) throw new Error(err);
});
為什么會出錯? 即使“回調”是async.waterfall的默認功能。 我將異步功能放入異步功能中,這是不可能的嗎?
當您在瀑布內部的函數中使用async
時,沒有callback
參數。 無需調用callback(null, data)
解析data
。
async.waterfall([
(callback) => {
callback(null, 'test');
},
async value1 => {
const data = await send("http://google.com");
return data;
},
(value1, callback) => {
// value1 is the resolve data from the async function
}
], (err) => {
if (err) throw new Error(err);
});
從文檔 :
無論我們在何處接受Node風格的異步函數,我們都直接接受ES2017異步函數。 在這種情況下, 不會向async函數傳遞最終的回調參數 ,並且任何引發的錯誤都將用作隱式回調的err參數,而返回值將用作結果值。 (即拒絕返回的Promise成為err回調參數,而解析的值成為結果。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.