簡體   English   中英

Node.js / Express的“回調必須是函數”問題

[英]“callback must be a function” issue with Node.js/Express

我的openstates.billDetail函數內部有一個回調函數,但出現一個錯誤:“回調必須是一個函數”,但我的回調似乎是一個函數!

app.get('/search/:searchTerm', function(req, response) {
    var nameArray = req.params.searchTerm.split('_');
    var bills = []
    var billIds = []
    openstates.legSearch({
        first_name: nameArray[0],
        last_name: nameArray[1]
    }, function(err, data) {
        if (!err) {
            openstates.billSearch({
                state: 'CA',
                chamber: 'lower',
                page: '1'
            }, function(err, data) {
                for (var billIndex = 0; billIndex < data.length; billIndex++) {
                    billIds.push(data[billIndex].id)
                }
                for (var billIdIndex = 0; billIdIndex < billIds.length; billIdIndex++) {
                    openstates.billDetail(billIds[billIdIndex], function(err, data) {
                        console.log(data);
                    })
                }
            })
        }
    })
})

有人對此有任何想法嗎? 我的其他回調工作正常...

我測試了您的代碼,它運行正常。

我添加了以下內容進行測試:

var openstates = {legSearch: function(a, cb){ cb(null, 'aa'); },
    billSearch: function(a, cb){ cb(null, 'bb'); },
    billDetail: function(a, cb){ cb(null, 'cc'); }};

沒有任何錯誤,並且最后一個函數按預期方式打印了“ cc”。

順便說一句,您沒有發送回任何答復,我不確定這是否是故意的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM