2017-05-24 3 views
-2

Hallo Ich habe dieses Stück Code funktioniert gut in Chrome, aber nicht in IE 11. Ich denke, das ist ES6 Syntax, aber nicht sehr sicher.ES6 js Code funktioniert nicht in IE 11 für Karte()

var buf2Hex = function(buffer) { 
    //return Array.prototype.map.call(new Uint8Array(5).join('00').concat(buffer.data.toString(16)).slice(-2)).join(''); 

    return Array.prototype.map.call(new Uint8Array(buffer.data), x=>('00'+x.toString(16)).slice(-2)).join(''); 
} 

Die kommentierte Zeile ist die, die ich versuchte, aber nicht funktioniert.

Wie funktioniert es für IE bitte?

+0

Was ist damit nicht funktioniert? Erhalten Sie Fehler in Ihrer Konsole? –

+1

Ich glaube nicht, das Problem ist [map()] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map?v=Beispiel), es hat seit IE9 unterstützt wurde, ja, [Pfeilfunktionen] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions) ('=>()') sind ES6 und sind nicht unterstützt von IE (aber ich denke, dass Sie das bereits herausgefunden haben) –

+0

In Bezug auf den Fehler, habe ich das in IE: Fehler: [ng: Areq] http://errors.angularjs.org/1.2.16/ng/areq? p0 = MyCtrl & p1 = nicht% 20a% 20function% 2C% 20got% 20undefined Wenn ich diese Funktion auschecke, werden die Seiten ohne Fehler geladen. – user3552178

Antwort

0
var buf2Hex = function(buffer) { 
    return Array.prototype.map.call(new Uint8Array(buffer.data), function(x) { 
     return ('00' + x.toString(16)).slice(-2); 
    }).join(''); 
    //return Array.prototype.map.call(new Uint8Array(buffer.data), x=>('00'+x.toString(16)).slice(-2)).join(''); 
} 
Verwandte Themen