Tag: asynchronous

pipe理asynchronous性并在节点中执行多个MySQL查询

我nodejs了一些处理nodejs的asynchronous性质的nodejs 。 我正在使用nodejs-mysql连接器来获取数据。 本质上,下面的代码正在执行查询来获取file_url并将信息发送到myApi。 第二个查询应该在从api( inputId )返回的结果更新数据库之后运行。 但是,以前没有工作做它的asynchronous方式(连接之前closures处理一切)。 使用async模块做下面的最好的方法是什么? var mysql = require("mysql"); var async = require("async"); var Q = require('q'), myApi = require('myApi')('xxxxx'); //DB var con = mysql.createConnection({ host: "localhost", user: "root", password: "root", database: "test" }); //1ST Query – Fetch Urls, then upload file to api con.query('SELECT file_url, file_id FROM myfiles', function(err, rows) […]

Meteor方法对客户端返回undefined(asynchronous)

我一直在努力将Google Recaptcha整合到Meteor和AngularJS Web应用程序中。 一切都很顺利,直到我必须validationrecaptcha响应 – 由于一些奇怪的原因,我无法从后端到前端获得asynchronous响应。 我已经尝试了很多不同的变体,并且在SO和互联网上阅读了很多很多的post,但没有运气 – 所以我select发布自己的问题。 这是我正在做的事情: 客户: Meteor.call('recaptcha.methods.validateRecaptcha', { 'response' : this.recaptcha.getResponse(this.id) }, function(error, result) { // error and result are both undefined console.log('Do something with the ' + error + ' or ' + result + '.'); } 所以,我打电话给一个Meteor方法,并传入一个方法完成后运行的callback函数。 但是, error和result参数都是未定义的。 服务器: run: function(data) { if (this.isSimulation) { /* * […]

在导出之前加载asynchronousconfiguration

在运行我的应用程序之前,我需要加载一些asynchronousconfiguration,如下所示: var express = require('express'); var router = express.Router(); var myModule = require("myModule"); myModule.create().generateModel().then(tagger => { router.post('/tag', function(req, res, next) { res.json(tagger.tag(req.body.text)); }); module.exports = router; }); 但是这不起作用,因为需求是同步的。 我怎样才能做这个工作? 我如何在其他模块中重新使用“tagger”?

将async.eachLimit转换为promise

我有这样的同步代码 async.eachLimit(teams, 1000, fetchTeamInfo, exit) 我需要将其转换为Promise(蓝鸟) 我认为会很好做出类似于: Promise.method (teams, 1000, fetchTeamInfo) -> async.parallelLimit arr.map((a, i) -> -> iterator a, i, arr ), limit 但不确定是否正确

没有声音Node.js脚本停止未完成

我有一个parsing一些比特币区块链的脚本。 我从这个伟大的lib使用asynchronous队列function,但代码似乎停止没有任何消息在处理中,可能会导致这种情况? queue.drain永远不会调用,因为执行正在消失! 有没有办法让脚本崩溃的原因? 我尝试使用节点debugging器,但没有成功。 'use strict'; var request = require ('request'); var fs = require('fs'); var async = require('async'); var blocksTotal = 0, k = 0; var data = []; var queue = async.queue((task, callback) => { request('https://blockchain.info/rawblock/' + task.hash, (err, response, body) => { if (err) console.error(err); if (response.statusCode === 200) { let […]

NodeJS等待所有的asynchronous命令完成

我正在使用' Q '库在NodeJS中进行asynchronous调用。 然而在其中一个用例中,我需要defer promise直到所有的asynchronous调用完成。 public someFunction(files: string[]) : Q.Promise<string> { var needSomeInfo; var defer = Q.defer; for (var i = 0; i < files.length; i++) { _this.readFile(files[i]).then(function(res) { needSomeInfo += res.Info; j++; if (j == files.length) { defer.resolve(needSomeInfo); } }).fail(function(err) { j++; if (j == resultFiles.length) { defer.resolve(needSomeInfo); } //this is kinda stupid. I […]

这真的是一个asynchronous“类似”的循环?

我试图更多地了解承诺和asynchronous编程。 我试图做一个asynchronous循环(是的, 我知道有很多的库来完成这个 ,但他们不教我如何工作)使用承诺。 比方说,我想迭代一个数组,并将一个函数应用到“每个tick”的一个元素,而我做一些其他的东西。 所以我做了这个“async for-loop-like”函数: function asyncFor_(elements, worker, index) { return new Promise((resolve, reject) => { process.nextTick(()=>{ if (index < elements.length) { try { worker(elements[index]) resolve(asyncFor_(elements, worker, index+1)) } catch(e) { reject() } } else { resolve() } }) }) } 并用此testing: function logEnd() { console.log('End') } function logErr(e) { console.log(e) //Received console.log('I […]

callback不是一个function节点js

我是新来的JavaScript,我有麻烦解决这个错误。 我得到的消息:“callback是不是一个函数”在:“callback(angular色arrays)”。 Rol.getAllRoles = function(callback){ sql = "select role from Role;"; var rolesArray = []; var role; mysql.connection(function(err,conn){ if (err){ return callback(err); } conn.query(sql,function(err,rows){ if (err){ return callback(err); } for(var i=0; i < rows.length; i++){ role = rows[i].role; rolesArray.push(rol); } console.log("roles: " + rolesArray); return callback(rolesArray); }); }); } console.log输出:“roles:admin,customer”,以便与数据库的连接工作。

避免与asynchronouscallback地狱,使用其他模块的function

我有一个用户模块,我正在定义跨代码使用的函数。 当我创build密码时,我想利用这些function: 用户模块: //insert a local user into the database User.prototype.insertLocalUser = function (email, password, cb) { var sql = "INSERT INTO VCUSER ( VCUSER_EMAIL, VCUSER_PASSWORD ) values ('" + email + "','" + password + "')"; db.get().query(sql, function (err, rows) { if (err) return cb(err); return cb(err, rows); }); }; //generate hash function for […]

我应该发送多less个并发http请求?

我需要同时发送大约50或60个请求到远程服务器。 我对networking了解不多。 我刚刚意识到,例如: 发送5次请求10次与发送50次请求完全不同 怎样才能知道同时发送的最高“并发”HTTP请求数量?