// класс для очереди
class Queue{
constructor(interval=1000) {
this.list = [];
setInterval(()=>{
const item = this.list.shift();
if( item && item.cb && typeof item.cb === "function" ){
item.cb(...item.params);
}
},interval);
}
addTask(cb, ...params){
this.list.push({cb:cb, params:params});
}
}
// экземпляр класса для очеред. устанавливаем интервал срабатывания 2 секунды
const queue = new Queue(2000);
// links - ваш мап
links.forEach(b => {
// хз как вы используете b, в вашем коде это не показано
queue.addTask(()=>{
// но вы вполне можете использовать ваше b тут
fetchDonor();
});
});
fetchDonor();
должен либо отдавать промис, либо принимать колбэк, который будет выполнятся по завершении работы fetchDonor();
class Pagination {
private currentPage: number;
private countPages: number;
public goToPage(page: number): void;
public goToNext(): void;
public goToPrev(): void;
// ну, можно всякие геттеры для приватных полей.
}
const EventEmitter = require('events');
const pubsub = new EventEmitter();
wss.on('connection', ws => {
pubsub.on('test', (payload, _ws) => {
if (_ws !== ws) {
return;
}
ws.send(payload);
});
ws.on('message', message => {
const { event, payload } = message;
pubsub.emit(event, payload, ws);
});
})
const EventEmitter = require('events');
const pubsub = new EventEmitter();
wss.on('connection', ws => {
ws.on('message', message => {
const { event, payload } = message;
pubsub.emit(event, payload, ws);
});
});
pubsub.on('test', (payload, _ws) => {
_ws.send(payload);
});
const EventEmitter = require('events');
const pubsub = new EventEmitter();
wss.on('connection', ws => {
ws.on('message', message => {
const { event, payload } = message;
pubsub.emit(event, { payload, ws });
});
});
pubsub.on('test', ({ payload, ws }) => {
ws.send(payload);
});
const EventEmitter = require('events');
const pubsub = new EventEmitter();
wss.on('connection', ws => {
ws.on('message', message => {
const { event, payload } = message;
pubsub.emit(event, payload, outcome => ws.send(outcome));
});
});
pubsub.on('test', (payload, send) => {
send(payload);
});
Изначально я планировал свободное неоплачиваемое время пускать на свои задачи, персональные проекты, другую подработку.
<a download="" class="download-torrent button-green-download2-big" href="https://yts.am/torrent/download/A68B10BC0FC1183F6240381425AE40A10C62A584" rel="nofollow" title="Download Our Time 720p Torrent"><span class="icon-in"></span>Download</a>