Tag: asynchronous

什么时候使用process.nextTick是最好的时机?

我从人们得到的印象是…所有的JavaScript函数都是同步的,除非与process.nextTick一起使用。 什么时候使用它的最佳时机? 我想确保我不会在不需要的地方使用它。 在这一点上,我正在考虑在数据库调用之前使用它,但是,据我所知,这些调用默认是asynchronous的,因为整个“asynchronousIO”的东西。 只有在JavaScript边界内进行一些密集的工作时才能使用它们吗? 像parsingXML等? 顺便说一句,已经有这样的问题,但似乎已经死了,所以我提出了另一个问题。

我们是否应该在NodeJS中一直避免正常的for-loop来提高并发性?

比方说,我有一个非常简单的演示function,在一个路线之一 let array = []; for (var i = 0; i < 1000; i++) { array[i] = i * 10; } 这将是一个非常快的循环。 但是使用async.each(…)把这个过程变成asynchronous循环会async.each(…) 。 我是否应该一直避免正常的for循环,并尝试将所有循环转换为asynchronous? 这就是说,我一直在使用underscore.each在我的项目中,现在我打算把所有的东西都转换成async.each,不pipe这个循环有多简单。

node.jsasynchronous/等待使用MySQL

我需要获得所有结果同步,并追加到一个string与asynchronous/等待关键字,如C# 我是新的node.js,我不能适应这个新的语法我的代码。 var string1 = ''; var string2 = ''; var string3 = ''; var string4 = ''; DatabasePool.getConnection(function(err, connection) { connection.query(query,function (err, result) { if (err){}; string1 = result; }); connection.query(query,function (err, result) { if (err){}; string2 = result; }); connection.query(query,function (err, result) { if (err){}; string2 = result; }); connection.query(query,function (err, result) { […]

节点7.10 – 它支持等待吗?

我在节点7.10上: $ node –version v7.10.0 我认为它支持await 。 let result = await Weather.findOne(options, function(err, weather) { if (err) { res.set('Content-Type', 'application/json'); return res.status(200).send('Error occurs: ' + err); } if (weather) { res.set('Content-Type', 'application/json'); return res.status(200).send(key + ' already exist.'); } return weather; }); console.log(result); 错误信息: let result = await Weather.findOne(options, function(err, weather) { ^^^^^^^ SyntaxError: Unexpected […]

如何确定在Node.js中导致UnhandledPromiseRejectionWarning的原因?

我已经在asynchronous/等待库的基础上构build了Node.js应用程序,并且在大多数情况下工作得很好。 我遇到的唯一麻烦是,只要承诺没有完成,我就会得到以下错误的一些变化: (node:83333) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): TypeError: Cannot read property '_id' of null 我无意中能够find违规的承诺,但有时需要进行相当多的debugging。 有没有一种方法可以用来检查未处理的承诺的行号? 会救我很大的头痛。

Node.jscallback混淆

我正在尝试使用nowjs在nodejs应用程序上实现一个自动完成器。 everyone.now.sendAutocomplete = function(search) { var response = getAutocomplete(search); console.log("response"); console.log(response); }; 其中呼吁: function getAutocomplete(search) { console.log(search); var artist = new Array(); request({uri: 'http://musicbrainz.org/ws/2/artist/?query=' + search + '&limit=4', headers: "Musicbrainz Application Version 1"}, function(error, response, body) { par.parseString(body, function(err, result) { var count = result['artist-list']['@']['count']; var artists = result['artist-list']['artist']; // var artist = new Array(); […]

如何与Node.js和Expressasynchronous加载和显示网页内容?

作为JavaScript和相关框架的初学者,如果我的问题看起来很愚蠢,我很抱歉。 无论如何…是否有一些本地技术负载和显示网页内容与Node.js和Expressasynchronous? 是否应该使用XMLHttpRequest对象的目的或存在更好的select? 最好的问候,六。

当所有运行并行function完成他们的工作时如何运行callback?

我得到了堆栈的问题:“所有asynchronousfunction完成工作后如何运行callback” 这里是一个例子: function doTasks(**callback**) { doTask1(function() { … }); doTask2(function() { … }); } 我不想一个又一个地执行任务。 并行运行它们的想法,但我完全需要callback。 nodeJs是否具有内置function? 现在我正在使用一个EventEmitter和计数器的组合。 每当任务完成时,它将运行一个事件。 因为我知道有多less任务跑了。 我可以数它,并发出callback。 但一定要更灵活一些。 在这里,我现在使用。 var EventEmitter = require("events").EventEmitter; var MakeItHappen = module.exports = function (runAfterTimes, callback) { this._aTimes = runAfterTimes || 1; this._cTimes = 0; this._eventEmmiter = new EventEmitter(); this._eventEmmiter.addListener("try", callback); } MakeItHappen.prototype.try = function () […]

Node.js:for循环中每次迭代结束时的callback函数

在Node.js中,我有一个遍历整个元素列表的函数,并执行一些数据库调用,如下所示: for(var j=0; j<elements.length; j++) { //do some database calls } 每个循环完成后(意思是当数据库调用终止时),我想“console.log(”Loop terminated“);”。 在下面的代码中,我已经展示了我的尝试来解决这个问题: for(var j=0; j<elements.length; j++) { (function() { //do some database calls })(function(){ console.log("Loop terminated"); }); } 我使用了一个匿名函数,我试图callback函数,将打印“console.log(”循环终止“)”。 当我执行这个代码时,console.log不会打印任何东西。 我对Node.js很新,我不太了解callback。 有人可以向我解释为什么我的callback不起作用,我该如何解决?

在使用Node.js完成之前,我可以开始发送Web响应吗?

我的回应的第一部分是静态的,我想先去发送页面的这一部分,并在编译后发送其余部分。 这甚至有可能使用node.js?