Puffer in Array konvertieren

8

Ich setze memcached mit

%Vor%

alles funktioniert in PHP,

In Nodejs mit Memcached-Plugin erhalte ich einen Puffer anstelle von Array in Ergebnis

%Vor%

Ich kann diesen Puffer nicht in Array

konvertieren

in nodjs:

%Vor%

Hast du einen Weg?

    
Ata 09.08.2013, 14:17
quelle

5 Antworten

17

arr = [...buffer]

ES6 hat neben den Puffern eine Menge anderer Funktionen eingeführt.

Sie können sogar einfach so anhängen:

arr.push(...buffer)

Der Operator ... erweitert Aufzählungen wie Arrays und Puffer, wenn sie im Array verwendet werden. Es erweitert sie auch in separate Funktionsargumente.

Ja, es ist auch schneller:

  

... : x100000: 835.850 ms

     

Slice-Aufruf vom Prototyp : x100000: 2118.513ms

%Vor%     
user4584267 03.06.2017 10:27
quelle
5

Hier geht's:

%Vor%     
Chipintoza 22.03.2017 13:47
quelle
1

Ich habe Memcached nicht verwendet, daher bin ich mir nicht sicher, was genau dieser Puffer darstellt oder was Sie stattdessen haben möchten. Es tut uns leid. Hier ist eine Funktion um einen Puffer in ein Array von Bytes aufzuteilen. Mehr unter node.js Buffer docs , hoffe es hilft!

%Vor%     
Plato 09.08.2013 15:13
quelle
-1

Im Internet gab es dazu keine Informationen, aber ich habe den Konvertierungsweg gefunden

In nodejs muss ich Folgendes verwenden:

%Vor%

aber es ist sehr dummer Weg, um Array zu bekommen, scheint es, dass php serilzie die Daten beim Einrichten Memcache.

    
Ata 09.08.2013 14:32
quelle
-1

Ich habe eine Lösung, obwohl ich derzeit versuche, eine bessere zu finden:

%Vor%

BEARBEITEN: Ich habe einen einfacheren Weg gefunden:

%Vor%

Aber, wie jemand schon gesagt hat, ist [...buffer] schneller (und Code effizienter).

Sie können auch new Uint8Array(buffer [, byteOffset [, length]]);

verwenden     
JacobTDC 12.08.2017 23:17
quelle

Tags und Links