问答

Object doesn't support property or method 'allSettled'

作者:admin 2021-06-29 我要评论

打包上线报错 : Unhandled promise rejection TypeError: Object doesn't support property or method 'allSettled' chrome等可以正常解析,Edge浏览器报这个异常...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

打包上线报错 : Unhandled promise rejection TypeError: Object doesn't support property or method 'allSettled'

chrome等可以正常解析,Edge浏览器报这个异常,是什么情况,, 项目中应用到Promise.allSettled ,有没有对应babel插件

###
// 差试过babel始终解决不掉,最终还是只能使用以下的办法
const formatSettledResult = (success, value) => success ? { status: 'fulfilled', value } : {
  status: 'rejected',
  reason: value
};
Promise.allSettled = function(iterators) {
  const promises = Array.from(iterators);
  const num = promises.length;
  const settledList = new Array(num);
  let settledNum = 0;
  return new Promise(resolve => {
    promises.forEach((promise, index) => {
      Promise.resolve(promise).then(value => {
        settledList[index] = formatSettledResult(true, value);
        if (++settledNum === num) {
          resolve(settledList);
        }
      }).catch(error => {
        settledList[index] = formatSettledResult(false, error);
        if (++settledNum === num) {
          resolve(settledList);
        }
      });
    });
  });
};
###

Edge浏览器不支持

###

https://zh.javascript.info/pr...

###

配置下babel

npm install core-js@3 --save
{
    "presets": [
        "@babel/preset-env",
        {
            "useBuiltIns": "usage",
            "corejs": { version: 3, proposals: true }
        }
    ]
}

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  •  Object doesn't support property or

    Object doesn't support property or

  • vue axios请求跨域问题,但我写了个htm

    vue axios请求跨域问题,但我写了个htm

  • mongoose 以单个属性去重

    mongoose 以单个属性去重

  • vue在asyncdata里给store里存值,但页

    vue在asyncdata里给store里存值,但页

腾讯云代理商
海外云服务器