Форум программистов, компьютерный форум, киберфорум
JavaScript: Node.js
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Node.js JavaScript Websocket https://www.cyberforum.ru/ nodejs/ thread1563400.html
Доброго времени суток! Ребят где можно что то почитать по websocket?
Ошибка в csgo рулетке Node.js JavaScript
Здравствуйте, что означает эта ошибка? Появляется после того, как отправляю обмен боту с сайта
Node.js JavaScript паралельное сканирование штрихкодов
Есть 5 USB штрихкод-сканеров, используя операционную систему Debian, возможно считывать штрихкоды с 3 сканеров пралельно. если пытаться считывать 4 или 5 потоков одновременно то невозможно получить...
Node.js JavaScript Замыкание? var Log = function() { this.logPath = "./../logs/log.txt"; var existFunction = function (exists) { console.log("f = "+logPath); // ТУТ хочу logPath } ... https://www.cyberforum.ru/ nodejs/ thread1558185.html
Node.js JavaScript Ms sql https://www.cyberforum.ru/ nodejs/ thread1556601.html
Добрый день. Для работы node.js с базой на ms sql есть пакет msnodesql, который не хочет ставиться т.к. ссылает на ознакомление с лицензией (в духе мелкомягких). Как мне после "ознакомления" или...
Node.js JavaScript Прокси Socket.IO NodeJS
Всем доброго времени суток! Необходимо реализовать следующие: (картинка в аттаче) Другими словами нужно сделать локальный прокси сервер для socket.io на другом сервере. Как это лучше сделать? И...
Массив: из массивов А и В получить массив С, в котором элементы массивов чередуются по 10 элементов Node.js JavaScript
Здравствуйте! Мне нужно написать программу которая из массивов А и В получает массив С в котором элементы чередуются по 10 элементов из массивов А и В. Не могу понять как объединить подмассивы в...
Node.js JavaScript Не работает код Добрый день. Кто скажет, почему не работает? Запускаю в консоли, не ошибок не чего. Дебаг не чего не показывает. var time = 1444908678561; var tick = ((time * 10000) + 621355968000000000); var... https://www.cyberforum.ru/ nodejs/ thread1553100.html
Node.js JavaScript Не перехватывается исключение ECONNRESET в http/https при разрыве соединения https://www.cyberforum.ru/ nodejs/ thread1552171.html
Есть программа подключающаяся longPollServer vk и ждет события, но если умышленно отключится от интернета то программа падает напрочь. Не пойму как выхватить данный эксепшен не перехватывая его в...
Node.js JavaScript Парсер ссылок из поисковика В общем я Java script только начала учить, а задали мне уже очень забавную задачу, к которой я даже толком не знаю как подойти. Нужно написать парсер который будет парсить результаты запроса из... https://www.cyberforum.ru/ nodejs/ thread1550571.html
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
0

Как запустить несколько потоков чтения/записи одновременно?

27.10.2015, 18:36. Показов 640. Ответов 1
Метки (Все метки)

Делаю загрузку файлов на сервер. Хочу использовать потоки.

Я попытался кое-что сделать:

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
//FileSystem handler library
var log = require("core/lib/log")(module);
var fs = require('fs');
var async = require('async');
 
var fsh = function (files) {
 
    var $this = this;
 
    this.moveUploadedFiles = function(dest,cb){
        if(!Object.keys(files).length){
            log.info('fsh.moveUploadedFiles-> files object is empty');
            return cb({state:0}); //files not found
        }
 
        async.waterfall ([
            function (cb) {
                $this.createFolder(dest,function(){
                    cb(null);
                });
            }
        ], function () {
            var infile = [];
            var outfile = [];
            var uploadSize = [];
            for (var i in files) {
                var path = dest + '/' + files[i].originalFilename;
                infile[i] = fs.createReadStream(files[i].path);
                outfile[i] = fs.createWriteStream(path);
                infile[i].on('data',function(data) {
                    if(!uploadSize[i]){
                        uploadSize[i] = 0;
                    }
                    uploadSize[i] += data.length/1024;
                    console.log(files[i].originalFilename + ': '+(files[i].size/1024) + '/'+uploadSize[i]+' Kb');
                    outfile[i].write(data);
                });
                infile[i].on('close', function() {
                    outfile[i].close();
                });
                infile[i].pipe(outfile[i]);
            }
        });
 
        return cb({state:1});  //upload success
    };
 
    this.createFolder = function(dir,cb){
        fs.exists(dir, function (exists) {
            if(exists){
                log.info('fsh.createFolder-> Dir exist: %s',dir);
                return cb();
            }else{
                fs.mkdir(dir,777,function(){
                    log.info('fsh.createFolder-> %s',dir);
                    return cb();
                });
            }
        });
    };
 
 
};
 
module.exports = fsh;
но как-то неправильно работает, несколько файлов за раз не пишет, работает только с одним. Я выбрал два разных файла, в консоли вижу следующее:

Код
Hawaii-Big-Island-TF.jpg: 1323.076171875/64 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/128 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/192 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/256 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/320 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/384 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/448 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/512 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/576 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/640 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/704 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/768 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/832 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/896 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/960 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/1024 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/1088 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/1152 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/1216 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/1280 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/1344 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/1408 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/1472 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/1536 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/1600 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/1664 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/1728 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/1792 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/1856 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/1920 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/1984 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/2048 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/2112 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/2176 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/2240 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/2304 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/2368 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/2432 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/2496 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/2560 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/2624 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/2688 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/2752 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/2816 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/2880 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/2944 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/3008 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/3072 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/3136 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/3200 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/3264 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/3328 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/3392 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/3456 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/3520 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/3584 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/3597.8701171875 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/3661.8701171875 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/3725.8701171875 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/3789.8701171875 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/3853.8701171875 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/3917.8701171875 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/3981.8701171875 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/4045.8701171875 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/4109.8701171875 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/4173.8701171875 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/4237.8701171875 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/4301.8701171875 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/4365.8701171875 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/4429.8701171875 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/4493.8701171875 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/4557.8701171875 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/4621.8701171875 Kb
Hawaii-Big-Island-TF.jpg: 1323.076171875/4664.9462890625 Kb
В чем может быть проблема?

Вернуться к обсуждению:
Как запустить несколько потоков чтения/записи одновременно?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.10.2015, 18:36
Готовые ответы и решения:

Запустить несколько копий одного бота одновременно
Приветствую, использую библиотеку discord.js для написания бота. Возник вопрос. Есть файл app.js в...

Как запустить несколько потоков одновременно?
Здравствуйте, не могу решить проблему с объявлением количества потоков, нужно чтобы запускалось...

Создать и запустить одновременно несколько потоков
Всем привет) Необходимо создать несколько потоков и запустить их одновременно (без помощи циклов)....

Как запустить несколько while одновременно?
Как запустить несколько while одновременно?

1
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.