Tag: asynchronous

处理asynchronousfunction

我刚刚开始用JS和Node编程,而且我还没有习惯于asynchronous的东西。 基本上,我有以下代码: for (var i=0, len=sources.length; i<len; i++) { processSource(sources[i], function(info) { doesOtherStuff(sources[i], info); }); } 它并没有真正的工作,因为,当processSource需要一段时间才能完成,函数doesOtherStuff被调用,具有不匹配的参数,如sources[2]和sources[0]的处理信息。 处理这个问题的正确方法是什么? 这些function的devise是否有内在的错误? (processSource和doesOtherStuff都是我的function)。

在Node.js中,如何使用node-seq按顺序链接asynchronous函数?

今天我一直在玩@ substack的node-seq模块,它允许我链接在一起的asynchronousfunction。 https://github.com/substack/node-seq 我使用并行function,但顺序运行function有困难。 每当我运行下面的代码,它只打印出'hello1'语句。 任何想法我做错了什么? var Seq = require('seq'); Seq() .seq(function () { console.log('hello1'); }) .seq(function () { console.log('hello2'); }) ; 感谢您的任何build议!

在Node.js中,我怎样才能使用node-seq进行嵌套callback

我正在通过@substack与node-seq模块一起工作,但碰到了一点碰撞。 我想要做的是:2个并行asynchronous操作,每个操作都对其结果做了一些事情,然后一旦完成,就将修改后的结果发送给一个终止操作。 经过一番修改,我得到了这个代码基本上工作: var Seq = require('seq'); Seq() .par(function () { console.log('starting action 1'); var self = this; someModule.someAsyncMethod(function(result) { // do some stuff with result console.log('finishing action 1'); self(result); }); }) .par(function () { console.log('starting action 2'); var self = this; someModule.someAsyncMethod(function(result) { // do some stuff with result console.log('finishing action 2'); self(result); }); […]

callback函数数组

我在做什么: function1(function(){ function2(function(){ function3(function(){ function4(); } } } 有没有更简单的方法来做到这一点? miracleFunction([function1,function2,function3,function4]); miracleFunction = function(array){ ??? }

使用mongodb操作运行for-in循环

我有这样的function… for(key in object){ db.collection.findOne(criteria, function(err, doc){ // … db.collection.update(…); }) }; 然而,在mongodb调用之前的关键变化的值是完整的,即循环进入下一次迭代。 有没有办法做到这一点顺序。 或者有像async.map()这样的对象的数组?

Node.js – 寻找asynchronous函数

我在Node.js中寻找一个模块,它将为数组中的每个项目运行一个函数,但是暂停执行数组中的下一个项目,直到返回最后一个值。 我有async.concatSeries()运行一系列请求函数。 看起来像这样 var foo = [id,id,id]; function bar(){//do something then return value} async.concatSeries(foo, bar, function(err, result){//log result}); 我想返回所有这些与数组相同的顺序。 任何帮助将是伟大的,谢谢!

为什么需要async.js?

我以为JavaScript是非阻塞和asynchronous的,那么asynchronous给你什么? 我知道你得到一些像地图一样的function来激发多个“线程”,但是它呢? 我完全不熟悉javascript和nodejs。 编辑:我不是说“线程”,我的意思是像并行执行多个callback的外观。

node.js以同步的方式执行循环

我必须在Node.js中实现一个类似下面的代码片断的程序。 它有一个数组,虽然我不得不遍历并与数据库表项匹配的值。 我需要等到循环结束并将结果发送callback用函数: var arr=[]; arr=[one,two,three,four,five]; for(int j=0;j<arr.length;j++) { var str="/^"+arr[j]+"/"; // consider collection to be a variable to point to a database table collection.find({value:str}).toArray(function getResult(err, result) { //do something incase a mathc is found in the database… }); } 但是,作为str="/^"+arr[j]+"/"; (这实际上是一个正则expression式来传递给MongoDB的查找函数,以便find部分匹配)在find函数之前asynchronous执行,我无法遍历数组并获得所需的输出。 此外,我有困难的时间遍历数组,并将结果发callback用函数,因为我不知道什么时候循环完成执行。

async.eachSeriescallback调用多次

在这个function中: function method2(friends, callback) { //friends is an array of objects var ids = _.pluck(friends, 'id'), arrays = cut(ids, 24), //cut() splits array into smaller arrays of given length code = require('fs').readFileSync('…').toString(); var imp,j; async.eachSeries(arrays, function(i, cb1) { … vk.request('execute', {code:code}, function(err, resp, body) { //vk.request passes its callback to node-request module //at this point, […]

使用Node.js更好地理解callback

任何人都可以向我解释什么是在这里? 我一直在学习节点和callback,我有种得到的概念,但可以使用一些更多的细节。 所以在函数“myCallback”中有一个日志到控制台,但在“useItNow”没有日志到控制台,结果是“从myCallback使用它”在控制台。 我怎么不需要像使用它现在返回? 如果不是callback,这是否正确表示使用它? var usingItNow ='使用它' 有人可以发布一些好的内容的链接? 是使用它现在适当camelcase或应该使用它? var myCallback = function(data) { console.log('from myCallback ' + data); }; var usingItNow = function(callback) { callback('From Using it'); }; usingItNow(myCallback);