2

Im using ArcGIS JS API 4.7, in an angular 6 application.

and using esri-loader to access esri methods within my angular services/components

Using following versions..

"arcgis-js-api": "^4.7.2",
"bootstrap": "^4.1.0",
"core-js": "^2.5.4",
"esri-loader": "^2.3.0",
"esri-service": "^1.1.1",

It seems esri has implemented part of the of the js methods in webassembly. hence the browsers use following files

https://js.arcgis.com/4.7/esri/geometry/support/pe-wasm.js
https://js.arcgis.com/4.7/esri/geometry/support/pe-wasm.wasm

This is specifically used in JsonUtils.fromJson() method

https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-jsonUtils.html#fromJSON

The code seems to run fine in other browsers, however I get errors in all versions of IE, including Edge

tested in IE 11.2791.12

Edge 38.14393.2068.0

Following is my code

import { loadModules } from 'esri-loader';

...
...

public static async createGeometry(
    geometryJson: any
  ): Promise<__esri.Geometry> {
    const [JsonUtils] = await loadModules([
      'esri/geometry/support/jsonUtils'
    ]);
    return JsonUtils.fromJSON(geometryJson);
  }

Following is the error

no native wasm support detected
ERROR abort("no binaryen method succeeded. consider enabling more options, like interpreting, if you want that: https://github.com/kripken/emscripten/wiki/WebAssembly#binaryen-methods"). Build with -s ASSERTIONS=1 for more info.

[object Error]{description: "no binaryen...", message: "no binaryen...", name: "Error", stack: "Error: no b...", Symbol(rxSubscriber)_g.byk0skaafg7: undefined}

Has anyone faced it in the past?

Farhan Jan
  • 21
  • 1
  • 1
    The API requirements - specifically the IE11 limitations - are listed in more details in https://developers.arcgis.com/javascript/latest/guide/system-requirements/index.html – Bjorn Svensson May 01 '19 at 22:45

1 Answers1

1

Of course it is expected.

It uses WebAssembly and IE never will be able to support WebAssembly. For Edge, you should update Windows 10 Fall Creators Update. Specifically, EdgeHTML(NOT Edge) version 16 supports WebAssembly.

Bumsik Kim
  • 5,853
  • 3
  • 23
  • 39