سؤال

Hello I am using connect and have:

var app = connect()
 .use(connect.static(directory))
 .use(function(req,res) {
  switch (req.url)
  {
   case '/query':
    exportFunc.query("myquery", res.end);
    break;
  }
}

-- exportFunc.js --
exports.query= function(query, cb) {
 queryServer(query, cb);
}

var queryServer = function(query, cb) {
 cb("MyQueryResult");
}

But I get an error that cb cannot be determined what object it is. Do I need to cast this object into its correct type?

هل كانت مفيدة؟

المحلول

You're not calling the function with the right context (this in the function). You can fix it by replacing

 exportFunc.query("myquery", res.end);

with

 exportFunc.query("myquery", res.end.bind(res));

or

 exportFunc.query("myquery", function(){ res.end() });
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top