Tag: callback

执行'n'asynchronouscallback后,node.js执行函数

我不能得到如何执行一个callback' n 'asynchronousfunction执行后,例如: var after4AsyncOperation = function(){ //do something… } process.nextTick(function(){ //do stuff }) process.nextTick(function(){ //do stuff }) process.nextTick(function(){ //do stuff }) process.nextTick(function(){ //do stuff }) 有没有一种方法来执行after4AsyncOperation之后的4个asynchronous函数,而不必编写一个function之一,例如: var after4AsyncOperation = function(){ //do something… } process.nextTick(function(){ //do stuff process.nextTick(function(){ //do stuff process.nextTick(function(){ //do stuff process.nextTick(function(){ //do stuff after4Asyncoperation(); }) }) }) })

TypeError:callback.apply不是函数(Node.js&Mongodb)

当我添加行“{upsert:true}”,我得到这个错误: TypeError:callback.apply不是一个函数 // on routes that end in /users/competitorAnalysisTextData // —————————————————- router.route('/users/competitorAnalysisTextData/:userName') // update the user info (accessed at PUT http://localhost:8080/api/users/competitorAnalysisTextData) .post(function(req, res) { // use our user model to find the user we want User.findOne({ userName: req.params.userName}, function(err, user) { if (err) res.send(err); console.log('user.competitorAnalysis.firstObservation: %@', user.competitorAnalysis.firstObservation); // Got the user name var userName = […]

NodeJS在多次请求后无限期地挂起

我有一个nodeJS(v.0.10.23)代理连接到postgres数据库(node-postgres模块v2.1.0),以及返回各种json数据的pgpool-II。 回到当天,这是如何处理连接错误: var after = function(callback) { return function(err, queryResult) { if(err) { response.writeHead(500, _header); console.log("ERROR: 500"); console.log(err); return response.end(JSON.stringify({error: err})); } callback(queryResult) } }; 基本上它所做的是在没有错误的情况下消耗响应。 可以在这里find一个深入的解释: Node js – http.request()连接池的问题 使用上面的函数,我有这样的东西: pg.connect(_conString, after(function(err, client, done) { client.query(sql, after(function(result) { … done(); } 由于当函数传递到after()scallback函数时上下文丢失了,所以我放弃了使用pg.connect()传递的先天done()方法的能力。 删除后解决了这个问题,但随后,在适当的时间,并有相当数量的客户端拉数据,节点将挂起,直到它被重置。 是否有消耗各种asynchronous响应的不同方式? 或者可能是一种将pg.connect上下文传递给callback的方法?

从JavaScript中的callback函数返回值?

我正在使用node.js和库翻译 。 我可以做这样的事吗? : function traduce(text){ translate.text(text,function(err,result){ return result; }); } 然后使用结果? 它总是返回我“未定义”。 有没有办法使用这个结果而不做这个? :。 translate.text(text,function(err,result){ // use result // some logic }); translate.text(text,function(err,result){ // use result // some logic });

函数返回的值在nodejs中未定义

我正在第一次在NodeJs项目上工作。 而现在我坚持通过JS的函数返回值,并得到值使用快递。 var dbitems = "before fn"; function refreshData(callback) { db.open(function (err, db) { if (!err) { db.collection('emp').find().toArray(function (err, items) { dbitems = items; callback(JSON.stringify(items)); }); } else { console.log("Could not be connnected" + err); dbitems = {"value":"not found"}; } }); } } refreshData(function (id) { console.log(id); }); 该函数从refreshData中完美地检索值并写入控制台。 但我需要的是使用检索的价值发送到这个函数的快速HTML文件通过“returnedData” exports.index = function (req, res) […]

有条件地执行callback

解决以下控制stream程的最佳方法是什么? 我只想调用getSomeOtherData如果someData等于某个值/通过一些条件testing 在这两种情况下,我总是想调用getMoreData http.createServer(function (req, res) { getSomeData(client, function(someData) { // Only call getSomeOtherData if someData passes some conditional test getSomeOtherData(client, function(someOtherData) { // Always call getMoreData getMoreData(client, function(moreData) { res.end(); }); }); }); });

NodeJS:调用for循环内的callback函数

基本上,我试图调用一个函数,其中一个循环内运行许多callback函数(callback地狱)..如下所示: for(var i=0;i<data.id.length;i++) { DAO.getUserById(data.id[i],function(err,resp1) { /* some other work based on resp1 */ DAO.getOtherData(resp1.username,resp1.userId,function(err,resp2) { /* similary some other work*/ }); }); } 我在我的应用程序中的几个位置有相同的模式,有些时候我遇到了callback的问题,为循环克服,但callback不给响应,这似乎像DAO方法已被调用,但仍在等待响应。 有没有优化的方法来解决这个问题? 这将是很高兴知道是否有一些JavaScript编码模式可以解决这个问题(除了任何第三方库)谢谢

节点js函数返回而不是string值

我很安静新来的Java脚本和节点js,我想从一个MySQL数据库中获取一个值,返回值是[对象对象]而不是一个string。 我真的没有在网上find任何答案是什么问题。 我希望这里有人可以帮助。 行值是[object Object]。 这是我的function exports.getAllIdInfo= function(dbConnection, tables ,id , callback){ var tableName= tables[i]; var tableVariable = tableName; var myQuery = 'SELECT time, ' + tableVariable + ' FROM ' + tableName + ' WHERE id= ' + id; var query = dbConnection.query(myQuery, function (err, row, result) { console.log(query.sql); if (err) { console.log("getAllGoodIds error"); […]

如何从node.js中的mysql SELECT查询中返回一个值

我还是很新的Node.js,我试图了解如何callback工作。 所以,这是我的问题: 我应该把更多的代码: POST: app.post('/register', function(req, res) { //get data from the request var data = { username: req.body.username, email: req.body.email, password: req.body.password }; function fetchID(callback) { connection.query('SELECT id_user FROM USERS WHERE username = ?', data.username, function(err, rows) { if (err) { callback(err, null); } else callback(null, rows[0].id_user); }); } var user_id; fetchID(function(err, content) { […]

Node.JS通过2callback

我是Node.JS的新手,并试图了解through2库。 我想知道如何callback(在下面的示例代码是从上面的链接复制)是有用的。 请尽可能使用一小段代码来解释。 fs.createReadStream('ex.txt') .pipe(through2(function (chunk, enc, callback) { for (var i = 0; i < chunk.length; i++) if (chunk[i] == 97) chunk[i] = 122 // swap 'a' for 'z' this.push(chunk) callback() })) .pipe(fs.createWriteStream('out.txt'))