簡體   English   中英

TypeError:回調不是函數-

[英]TypeError: callback is not a function -

我有這段代碼是Pipl api包裝器的一部分,並且出現此錯誤:

該主代碼執行get請求,並從API返回信息

期待得到您的幫助:)

return callback(err, JSON.parse(body) || body);
TypeError: callback is not a function

怎么了 我該如何解決這個錯誤?

(function() {
    var _ = require('lodash')
        , request = require('request')
        , util = require('util')
        , url = require('url');

    var Handler = function(subClass) {
        this.createCall = function(method, path, options, callback) {
            return function(config) {
                if (_.isFunction(options)) {
                    callback = options;
                    options = {};
                }
                path = url.format({
                    pathname: path,
                    query: options
                });
                path = url.resolve(config.api_url, path);
                console.log(path)

                var parameters = {
                    url: path,
                    method: method
                };

                request(parameters, function(err, response, body) {
                    return callback(err, JSON.parse(body) || body);
                });
            }
        };

        _.merge(subClass, this);
        return this;
    }.bind(this);

    module.exports = Handler;
}).call(this);

調用createCall函數時,應將4個參數傳遞給它,最后一個參數應該是一個函數(稍后將被調用)。 它看起來像行callback = options; 沒有多大意義。

發生此問題是因為search.query函數接受選項和回調。 但是在NPM文檔中,它說它接受type, options, callback

檢查github

此錯誤表示您嘗試將某項功能稱為功能而不是功能。 在您的情況下,問題在於您只發送了一個參數,即“文件路徑”,而沒有傳遞要調用的函數。

我猜想在this.xmlObjectRepositoryLoader(filePath)中傳遞回調(map)可能會解決您的錯誤

暫無
暫無

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

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