NodeJS-TypeError:回调不是函数

时间:2019-05-13 05:41:25

标签: node.js callback

我想在加载完成后关闭会话。我试图正常地放置session.close(),所以我得到TypeError-在end之后写。然后我尝试输入一个回调,但是我得到的回调不是函数错误。

app.js

      var driver = neo4j.driver("bolt://" + neo4jIP + ":" + neo4jPort, 
       neo4j.auth.basic( login, password ));

     var session = driver.session();

      allQueries = [cyphers]; // ***************** 

      var queries = [];

     var cypherStringified = JSON.stringify(cyphers);
     var cypherJSONLength = cyphers.length;


     Promise.all(queries)
        .then(function (results,callback) {
            results.forEach(function (result) {

            })
            console.log("Completed LOADING");

            // session.close();  // Typeerror -Write after end .


                      callback( session.close());



            deferred.resolve({ "resolve": "Done" });
            return deferred.promise;

        })
        .catch(function (err) {
            console.log("inside catch 1= " , err);

        })

       }

错误-

 inside catch 1=  TypeError: callback is not a function
 at /home/dell/Downloads/api-mine-wsdlaws-controller.js:483:27
 at <anonymous>
 at process._tickDomainCallback (internal/process/next_tick.js:228:7)

1 个答案:

答案 0 :(得分:0)

Promise.all(iterable).then(function(values) {
     //it returns values
     console.log(values);
});

您使用的callback对该函数不可用,因此会引发错误。

Promise.all()方法返回一个Promise,当作为可迭代对象传递的所有promise已解决或可迭代对象不包含promise时,该Promise进行解析。它以第一个承诺被拒绝的理由拒绝。

  

详细了解Promise.all here