asyncpool

WebJar for asyncpool

Лицензия

Лицензия

MIT
Группа

Группа

org.webjars.npm
Идентификатор

Идентификатор

asyncpool
Последняя версия

Последняя версия

0.1.1
Дата

Дата

Тип

Тип

jar
Описание

Описание

asyncpool
WebJar for asyncpool
Ссылка на сайт

Ссылка на сайт

http://webjars.org
Система контроля версий

Система контроля версий

https://github.com/TooBug/asyncPool

Скачать asyncpool

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/org.webjars.npm/asyncpool/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>asyncpool</artifactId>
    <version>0.1.1</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/asyncpool/
implementation 'org.webjars.npm:asyncpool:0.1.1'
// https://jarcasting.com/artifacts/org.webjars.npm/asyncpool/
implementation ("org.webjars.npm:asyncpool:0.1.1")
'org.webjars.npm:asyncpool:jar:0.1.1'
<dependency org="org.webjars.npm" name="asyncpool" rev="0.1.1">
  <artifact name="asyncpool" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='asyncpool', version='0.1.1')
)
libraryDependencies += "org.webjars.npm" % "asyncpool" % "0.1.1"
[org.webjars.npm/asyncpool "0.1.1"]

Зависимости

Библиотека не имеет зависимостей. Это самодостаточное приложение, которое не зависит ни от каких других библиотек.

Модули Проекта

Данный проект не имеет модулей.

Async Pool

npm npm

What?

A library to arrange async tasks with multi threads.

For example, you have several numbers in an Array, with each element, you want to request an url and then do something with the result.

How?

You can just write like this:

var arr = [1,2,3,4]; // the array contains 100 elements
var asyncPool = require('../lib/index');

asyncPool(1,arr,function(element,callback){
        requestUrl('/xxx?element='+element,function(serverData){
                console.log(element,serverData);
                callback();
        });
},function(){
        console.log('all done.');
});

Let's make a fake requestUrl() method:

function requestUrl(url,callback){
        setTimeout(function(){
                callback(Math.random());  //echo the url
        },1000*Math.random());
}

Then run this code:

1 0.20489364583045244
2 0.8399192735087126
3 0.8282372376415879
4 0.1924239993095398
all done.

See, all the tasks are run in order.

You can use asyncPool(n,arr,func,func) to use the multi thread, which means there would be n tasks running at the same time.

Changelog

v0.1.1 2015-02-09

  • bugfix: when accessing the task array after processing, it's poped and got nothing.

v0.1.0 2014-12-26

  • first release

Версии библиотеки

Версия
0.1.1