Tag: callback

调用函数并通过express.js传递callback

什么是使用express.js函数自定义callback的正确方法? 这是一个例子: //routes/reset.js user.save(function(err){ if ( err ) return next(err); reset.send_reset_email(req, res, user, function(req, res){ req.flash('info', 'Check your email for a link to reset your password.'); res.redirect('/'); }); }); 我应该使用什么签名reset.send_reset_email这样才能正常工作? 这是我的: exports.send_reset_email = function(req, res, user, next){ //send email transport.sendMail(options, function(err, responseStatus) { if (err) { console.log(err); } else { next(req, res); //do I need […]

Node.JScallback函数,监听input对象事件

以下是标准的Node.js http获取请求。 在callback函数中,我们监听响应“数据”和“结束”事件。 我的问题是:如果在callback执行之前触发了响应数据事件呢? 对我来说似乎是可能的。 var request = http.get(option, function(res) { res.setEncoding('utf8'); var data = ""; res.on('data', function(d) { data += d }); res.on('end', function() { … }); });

Node.js – 打破callback函数并在父函数中返回true / false

我正在使用Node Express框架来构buildAPI,并遇到有关基本身份validationfunction的问题。 我需要运行SQL查询来检索有关用户的信息并validation他们的凭据。 查询完成后发生该问题。 SQL数据被发送到一个callback函数,如下所示。 我想要在callback中进行所有的validation,但是我想跳出SQLcallback并从express.basicAuth()函数返回true / false。 我已经尝试设置一个全局variables,然后在SQLcallback之外访问它,但是有时查询可能没有完成,直到获取访问该全局variables的块为止。 在此先感谢您的帮助。 var auth = express.basicAuth(function(user, pass) { // Query to select information regarding the requested user /* Query here to find the requested user's data */ client.query(query, function (err, rows, fields) { if (err) throw err; GLOBAL.sql = rows; /* I want to break out of […]

我无法从node.js中的自定义模块接收数据

我写了一个名为accountManager.js的模块 var sqlite3 = require('sqlite3'); var db = new sqlite3.Database("./users.db"); exports.userExists = function userExists(nickName) { var stmt = 'SELECT * FROM users WHERE login="' + nickName + '"'; db.each(stmt,function(err,row) { if(row) { if(row.login==nickName) return true; else return false; } }); } 在我的主app.js文件中 var accountManager = require('./lib/accountManager'); console.log(accountManager.userExists('user1')); 这个应用程序在控制台中显示'undefined'…我检查模块工作正常,我想这是callback问题? 请给我一些帮助,我不明白这个代码有什么问题…

删除包装在匿名函数中的命名callback?

有没有一种方法来删除传入的命名callback函数中的包装在一个匿名函数的侦听器? UPDATE。 下面更完整的代码示例。 这里是细节。 我有一个函数,在一个命名的callback传递。 之前 function read (message, named_callback ) { var named_callback = named_callback || default_callback , message = message || "Choose: "; stdout.write(message); stdin.resume(); stdin.setEncoding('utf8'); stdin.on('data', named_callback); }); }; 所有named_callback采取并准备一个传入的用户input(答案)。 answer = answer.trim().toLowerCase(); 我到处都是重复修剪和缩小线! 我想把这个步骤放到一个地方,所以试图在答案被传递之前做好准备。 我写了这个: 后 function read (message, named_callback ) { var named_callback = named_callback || default_callback , message = […]

用buzz.js播放一个又一个的声音

我正在试图把标题buzz.js一个接一个地播放buzz.js声音对象。 我已经尝试过使用events – endedcallback,但是这对于大量的文件变得严格。 我以为我可以创build我的声音列表,遍历它们并调用绑定一次,但没有工作,因为迭代不等待callback完成。 我正在使用node.js 这是我迄今为止: var mySound1 = new buzz.sound("/sound/001000.mp3"); var mySound2 = new buzz.sound('/sound/001001.mp3'); var mySound3 = new buzz.sound('/sound/001002.mp3'); for (var i = 0, max = 3; i < max; i++) { var sPath = '/sound/001' + soundArray[i].value + '.mp3'; var sound1 = new buzz.sound(sPath); sound1.play().bind('ended', function(e){ //here i want sound1 to […]

初学者node.jscallback示例

我是nodejs的新手这是一个非常简单的php示例,我想在nodejs中编写 $key='foo'; $inside= openthedoor($key); if(!$inside){ //wrong key $key= getanewkey();//get a new key $inside= openthedoor($key);//open the door again } 我怎么能在nodejs中做这个callback? 为愚蠢的问题appologies。

mysql结果循环中的node.jscallback

我试图让我的头在这个非阻塞业务。 你能告诉我我在这里做错了吗? 我试图添加一个retrieveContactName函数,在写入套接字之前从db获取更多信息。 我试图使它callback,但我得到的底部的错误。 case 'getConversations': var sip = parts[1]; var pass = parts[2].replace(/[\n\r]/g, ''); //strip that carriage return var sql = "SELECT DISTINCT(session) FROM im WHERE sip = "+connection.escape(sip)+" AND password = "+connection.escape(pass)+" ORDER BY timestamp DESC"; connection.query(sql, function(err, results) { if (err) winston.warn(err); for (var i=0; i < results.length; i++) { retrieveContactName(results[i].session, sip, […]

Node.js从callback函数中提取值

我有一个服务器文件与开关使用URL来显示适当的内容。 其中一种情况是/用户应该显示某个表的JSONstring。 这是从一个MySQL文件返回。 server.js var http = require('http') var url = require('url') var port = 8080 function onRequest(request, response) { var pathname = url.parse(request.url).pathname console.log('Request for ' + pathname + ' received.') response.writeHead(200, {'Content-Type': 'text/html'}) response.write(run(pathname)) response.end() } function run(pathname) { switch(pathname) { case '/': response = 'Welcome to my little test' break case '/time': […]

在callback期间获取正确的循环值

我想轮询多个网站,但是当我尝试打印数组索引它不会返回真正的索引。 var request = require('request'); var opt=['https://dev.twitter.com','https://developer.foursquare.com/','https://developers.facebook.com']; function req() { for(i=0;i<opt.length;i++) { request(opt[i], function (error, response, body) { if (!error && response.statusCode == 200) { console.log("Yes "+i) } else console.log("No"); }) } } setInterval(req,3000); 这是什么问题?