Tag: asynchronous

Node.js – 摩卡done()方法在以前的testing中导致错误

我正在实现摩卡作为我的testing框架与柴我为Node.js写一个应用程序。 这个规范是为secureId.js写的。 // secureId.js "use strict" const bcrypt = require('bcrypt'); // Constructor for SecureID function SecureID(str, rounds, func) { // Makes salt and hash unable to be changed or viewed outside the member functions let hashedID; let gennedSalt; bcrypt.genSalt(rounds, (err, salt) => { gennedSalt = salt; bcrypt.hash(str, salt, (err, hash) => { hashedID = hash; […]

为什么表示app.render与本地文件path同步加载图像? – NodeJS

我注意到以下几点: 当我想渲染一个像这样的另一个网站托pipe的图像URL数组: index.js MongoClient.connect('mongodb://localhost:27017/sample', function(err, db) { db.collection('collSample').findOne( { somevar: 'somevalue' }, function(err, doc) { assert.equal(null, err); res.render('index', { title: 'render images' , imagesPaths: doc.images.`**URLs**` }); db.close(); }); }); index.jade – each path in imagesPaths span img(src="#{path}") 我从Chrome开发者工具中获得这个networking信息。 注意图像是如何asynchronous渲染的 但是,如果我使用本地保存的图像,如下所示: index.js MongoClient.connect('mongodb://localhost:27017/sample', function(err, db) { db.collection('collSample').findOne( { somevar: 'somevalue' }, function(err, doc) { assert.equal(null, err); […]

调用asynchronous函数只能在callbacknodejs中完成一次

我有代码,以某种方式接收100000数据集。 然后有一个存储必须被访问的方式,只有最后一个添加完成后,下一个可以开始。 以同步的方式,看起来像这样..所以添加方法会阻止。 var data = […]; //100000 datasets var syncstorage = require( 'syncstorage' ); // syncronous storage. for( var i = 0 ; i < data.length() ; i++ ) { syncstorage.add( data[i] ); // will only return once stored } asynchronous存储不阻止,但它会告诉你什么时候完成callback… /////// async storage asyncstorage.add( data[i] , function(err) { /* can only execute another […]

如何确保在Node.JS的一个循环中阻塞

虽然我通常喜欢Node.JS的callback函数,但是我发现由于SQLite问题,我的代码的某个部分需要以阻塞的方式运行。 (是的,我知道我可以尝试和解决SQLite的一部分,它确实是更有意义,以确保阻止。) 我喜欢使用asynchronous模块,虽然我有一种感觉,模块有一个可以在这里使用的function,我似乎无法find它。 或者,也许有一个更好的模块。 无论如何,毫不犹豫: func = function(callback) { let i = 0; arr.forEach(val => { if (val.trim().length > 0) { console.log(`Starting for user ${val}.`); let mylc = new lcapp(val); ////// TODO this needs to be made sycnronous. ///// async.series({ getMyDetails: callback => getMyDetails(mylc, callback) }, (err, results) => handleResults(err, results, mylc, callback)); ///////////// } […]

async.parallel为PowerShell?

在node.js中,我已经非常习惯于使用async.parallel发送多个作业,然后将它们放回到callback中的一个很好的results[]数组中。 在PowerShell中没有任何方法可以做到这一点吗? 我发现的最接近的东西是在循环内使用Start-Job来启动一堆进程; 但是之后我必须使用Receive-Job来获得所有的结果。 不会有像循环之后运行Job-Wait ,然后运行@results = Receive-All-Jobs或类似的东西?

Node.js不会等待MySQL服务器发送答案,并继续asynchronous工作

随便打印,不要等MySQL发送回复。 var mysql=require('mysql').createConnection({ host:'localhost',user:'root',password:'',database:'dbname',port:3306 }); mysql.connect(function(error){if(error){throw error;}else{console.log('MYSQL SERVER [OK]');}}); console.log('// INI //'); var sql='SELECT * FROM sys_users'; mysql.query(sql,function(error,rows){ if(!error){ for(i=0;i<rows.length;i++){ if(i<rows.length-1) console.log(rows[i].username); else console.log(rows[i].username); } }else console.log('Error'); }); console.log('// END //'); mysql.end(); 将不得不打印: MYSQL SERVER [确定] // INI // 项目清单 // 结束 // 但印有: // INI // // 结束 // MYSQL SERVER [确定] 项目清单

NodeJS批处理async.parallel

我有 async.parallel(tasksGetContentFromGitHub, function(err, res) { // all request over, do something } 问题是我可能有大量的任务,并且每个任务都向GitHub发送一个请求。 由于我是一个很好的公民,我不希望在GitHub上一次发送1000多个查询,因此我想批量处理这些请求,然后执行我的内部代码。 有没有一个简单的方法来做到这一点?

nodejs在asynchronous更新数组时遇到麻烦

我有一个nodejs的asynchronous问题。 希望您能够帮助我。 exports.DeviceInfo = function(req, res, next) { var nets = req.body.networks; db.collection("device", function(err, deviceConf) { var detected_beacons = []; if (!err) { for (var i = 0; i < nets.length; i++) { deviceConf .find({ "data.number": nets[i] }) .toArray(function(errFind, saver) { if (!errFind && saver) { saver.forEach(function(disp) { var detected = {}; detected.address = disp.address; […]

每当从里面rest一下

你好,我必须从while循环中断开。 在while循环中我调用了一个asynchronous函数。 我必须检查,如果该asynchronous调用的输出中的某个字段是空的,那么我不得不中断,否则我将再次调用该asynchronous函数。 我试过这个: var options = { headers : { 'Fk-Affiliate-Id':'xxxxxxx' , 'Fk-Affiliate-Token' : 'xxxxxxxxxxxxxxxx' } }; var state = ['approved','tentative','cancelled','disapproved']; state.forEach(element => { options.url = 'https://affiliate-api.flipkart.net/affiliate/report/orders/detail/json?startDate='+startDate+'&endDate='+endDate+'&status='+element+'&offset=0'; loop : while(true){ // This is the async call request.get(options, (err, res, body) => { var data = JSON.parse(body); console.log(data); // I have to check whether next […]

Async.js系列和node-mysql查询不能得到行

我目前正在尝试使用async.js系列控制streamfunction来运行一组MySQL查询。 但我不断收到以下错误: throw err; // Rethrow non-MySQL errors ^ TypeError: Cannot read property 'status' of undefined 我已经在async.series之外testing了单独的函数中的查询,并且它们都很好,并将数据还给我,我可以认为这个错误的唯一原因是由于asynchronous性质,因此它当时没有数据当我logging我得到的行时的错误EG: [] [] [] 以下是asynchronousfunction: function SQLuserDataAsync() { connection.getConnection(function (err, connection) { async.series([ function (callback) { connection.query('SELECT status FROM users WHERE name= ?;', [userval], function (err, rows) { if (rows[0]['status']) { console.log("Account Status: " + accountval); } else { […]