Задать вопрос
Ответы пользователя по тегу Node.js
  • Node.js Что здесь происходит?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    var body = []; // Создаем переменную с массивом 
    request.on('data', function(chunk) { // Подписываем анонимную функцию на событие 'data'
        // chunk - это блок полученных данных
        body.push(chunk); // Добавляем блок данных в конец массива 
    }).on('end', function() { // Подписываем анонимную функцию на событие 'end'
        body = Buffer.concat(body).toString(); // Объединяем все блоки даннных в один, затем конвертируем результат в строку и сохраняем в переменную body
    });
    Ответ написан
    Комментировать
  • Как лучше обрабатывать и записывать большой объем данных?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Например так:

    var myDataObject = {}
        , dataExample1 = { sip:"1.1.1.1:11233", title:"block", value:"val 1"}
        , dataExample2 = { sip:"1.1.1.1:11233", title:"block", value:"val 2"}
        , dataExample3 = { sip:"1.1.1.1:11233", title:"view", value:"val 3"}
    ;
    
    addMyData = function(data){
        var exData = myDataObject[data.sip]
            , exTitle 
        ;
    
        if( !exData ){
            exData = myDataObject[data.sip] = { title: {} }
        }
    
        exTitle = exData.title[data.title];
    
        if( !exTitle ){
            exTitle = exData.title[data.title] = []
        }
    
        exTitle.push( data.value );
    }
    
    addMyData(dataExample1);
    addMyData(dataExample2);
    addMyData(dataExample3);
    
    console.log(myDataObject);
    console.info(JSON.stringify(myDataObject, null, 4));


    Если значение может быть только одно и старые значения не нужны - то и массив не нужен, а сразу записывать его в tittle.
    Ответ написан
    Комментировать
  • Почему fs модуль не создает папку?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Потому что createWrite stream - это именно создание потока для записи и не более того. И аналогично со всеми остальными функциями в модуле fs - если это не создание каталога, то функция и не будет создавать каталог. Поэтому, перед записью файла необходимо убедиться в наличии всех каталогов к этому файлу. Расширений к модулю fs полно, например: https://github.com/jprichardson/node-fs-extra - там есть функции для автоматического создания каталогов.
    Ответ написан
    Комментировать
  • Сохранение и установка сокета - как реализовать?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Никак. Не, сохранить-то куда-то конечно можно без проблем, но зачем? ID сокета выдается ОС при установке соединения, если соединение рвется (а оно рвется, т.к. приложение перезапускается) - то сокет уничтожается. Соответственно попытка передать данные через несуществующий сокет приведет к возникновению исключения.
    Ответ написан