Javascript polyfill不适用于IE11

Javascript polyfill不适用于IE11,javascript,promise,internet-explorer-11,fetch,polyfills,Javascript,Promise,Internet Explorer 11,Fetch,Polyfills,我已经用fetch创建了对象,我正试图用polyfill使它在IE11上工作,但它不工作。我试着用 在我的脑海里我有 <!-- Bootstrap --> <link href="/assets/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet" /> <link href="/assets/bootstrap/dist/css/bootstrap-theme.min.css" rel="stylesheet

我已经用fetch创建了对象,我正试图用polyfill使它在IE11上工作,但它不工作。我试着用

在我的脑海里我有

<!-- Bootstrap -->
<link href="/assets/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet" />
<link href="/assets/bootstrap/dist/css/bootstrap-theme.min.css" rel="stylesheet" />
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="/assets/jquery/dist/jquery.js"></script>
<script src="/assets/jquery-ui/jquery-ui.js"></script>

<script src="/assets/fetch/fetch.js"></script>
<script src="/assets/es6-promise/dist/es6-promise.min.js"></script>

在IE11中,它在3个地方投诉。
.then(response=>{
.then([status,protocols])=>{
SCRIPT438上的语法错误:对象不支持属性或方法“csrfParam”

您不能与IEso一起使用,我如何重写它才能工作?不要使用箭头函数,切换到旧的方式
函数(response){…}
,或使用transpiller将您的代码从ES6转换为支持的javascript版本。我已将
response=>
更改为
函数(response)
,但我不确定如何更改
([STATUS,protocols])=>
返回body.body.recordset.record.map(v=>v.STATUS)
你不能与IEso一起使用,我如何重写它才能工作?不要使用箭头函数,切换到旧方法
函数(响应){…}
,或者使用transpiller将你的代码从ES6转换为支持的javascript版本。我已将
响应=>
更改为
函数(响应)
但我不知道如何更改
([STATUS,protocols])=>
返回body.body.recordset.record.map(v=>v.STATUS)
//To add to window
if (!window.Promise) {
  window.Promise = Promise;
}
const CommsMatrix = {
        getCMDStatuses: function(){
        return fetch('/api/user/list/comms/matrix/data/format/json'+'?csrf='+$.csrfParam('csrf')+'&select=distinct(status)&orderby=status', {
          // body: new URLSearchParams({ csrf: $.csrfParam('csrf'), select:
            // 'distinct(status)', orderby: 'status' })
            credentials: 'include'
        })
        .then(response => {
          return response.headers.error ? Promise.reject(response.headers.error) : response.json();
        }).then(body => {
          return body.body.recordset.record.map(v => v.STATUS)
        })
      },
      getSupportedProtocols: function(){
        return fetch('/api/user/list/sys/list/protocols/format/json'+'?csrf='+$.csrfParam('csrf')+'&orderby=name', {
          // body: new URLSearchParams({ csrf: $.csrfParam('csrf'), orderby:
            // 'name' })
            credentials: 'include'
        })
        .then(response => {
          return response.headers.error ? Promise.reject(response.headers.error) : response.json();
        }).then(body => {
          return body.body.recordset.record.map(v => v.NAME)
        })
      }
}

Promise.all([CommsMatrix.getCMDStatuses(), CommsMatrix.getSupportedProtocols()])
    // Destructuring the 2-item array into statuses and protocols variables
    .then(([ statuses, protocols ]) => {
        // You've got statuses and protocols loaded
        selectField = HTMLFormTag.createSelect(statuses, true, false, 'To implement');
        selectField.setAttribute("name", 'status['+counter+']');
        selectField = selectField.outerHTML;

        selectProtocolField = HTMLFormTag.createSelect(protocols, true, false, 'TCP');
        selectProtocolField.setAttribute("name", 'protocol['+counter+']');
        selectProtocolField = selectProtocolField.outerHTML;

        // Automatically add a first row of data
        $('#addRow').click();
    });