简体   繁体   English

“此语言功能仅支持 ECMASCRIPT6 模式或更好的模式:箭头功能。”

[英]"This language feature is only supported for ECMASCRIPT6 mode or better: arrow function."

I have a code that I'm having an issue uploading.我有一个代码,我在上传时遇到问题。 I'm trying to submit this code in GTM although it says "=>" is not accepted via the title of this thread.我正在尝试在 GTM 中提交此代码,尽管该线程的标题显示“=>”不被接受。 Could I please receive assistance on making these normal functions?我能否获得有关使这些正常功能的帮助? The error appears in this section "var items = products.map".错误出现在“var items = products.map”部分。

Any and all assistance would be GREATLY appreciated.任何和所有的帮助将不胜感激。

<script>
 window.addEventListener("message", receiveMessage, false);

  function receiveMessage(event) {
    var payload = event.data && event.data.payload;

    if (!payload || event.data.messageType !== 'analyticsEvent') return;

    if (
      payload.name === "checkout"
    ) {
      var customerEmail = 
        payload.properties && payload.properties.customerEmail;
      var subtotal = 
        payload.properties && payload.properties.estimatedTotal;
      var cartId =
        payload.properties && payload.properties.cartId;
      var products =
        payload.properties && payload.properties.products;

      // do something with payload          
      console.log(subtotal, cartId, products);
      
      // if you're using Enhanced Ecommerce in Google Analytics, 
      // you can use the following code:
      var items = products.map(({ product_id, name, brand, category, kind, unit_price, count, special_id, special_title }) => ({id: product_id, name: name, brand: brand, category: kind, variant: category, quantity: count, price: unit_price}))

      gtag('event', 'purchase', {
        "transaction_id": cartId,
        "affiliation": "store",
        "value": subtotal,
        "currency": "USD",
        "items": items
      });
    }
    
    if (
      payload.name === 'menuLoad' 
    ) {
       var customerEmail = 
         payload.properties && payload.properties.customerEmail;
         
       // do something with the customerEmail if user is authenticated
       console.log(customerEmail);
    }

    if (
      payload.name === 'productView' 
    ) {
       var productId = 
         payload.properties && payload.properties.productId;
       var productKind = 
         payload.properties && payload.properties.productKind;
       var product = 
         payload.properties && payload.properties.product;
         
       // do something with productId, productKind, product
       console.log(productId, productKind, product);
    }

    if (
      payload.name === 'cartItemAdd' 
    ) {
       var productId = 
         payload.properties && payload.properties.productId;
       var product = 
         payload.properties && payload.properties.product;

       console.log(productId); // do something with the productId 
    }

    if (
      payload.name === 'cartItemRemoval' 
    ) {
       var productId = 
         payload.properties && payload.properties.productId;
         
       console.log(productId); // do something with the productId
    }
  }
</script>
var items = products.map(({ product_id, name, brand, category, kind, unit_price, count, special_id, special_title }) => ({id: product_id, name: name, brand: brand, category: kind, variant: category, quantity: count, price: unit_price}))

would probably become something like:可能会变成这样:

var items = products.map(function(product) {
    return {
        id: product.product_id,
        name: product.name,
        brand: product.brand,
        category: product.kind,
        variant: product.category,
        quantity: product.count,
        price: product.unit_price
    };
});

as the ES6 code uses object destructuring and an implicit(?) return value.因为 ES6 代码使用对象解构和隐式(?)返回值。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Google跟踪代码管理器中的Javascript编译器错误:仅ECMASCRIPT6模式或更高版本支持此语言功能 - Javascript Compiler Error in Google Tag Manager: this language feature is only supported for ECMASCRIPT6 mode or better 错误:此语言功能仅支持 ECMASCRIPT6 或更好的模式【谷歌标签管理器】 - Error : this language feature is only supported for ECMASCRIPT6 mode or better 【Google Tag Manager】 如何在GTM中修复“仅ECMASCRIPT6模式支持此语言功能”? - How to fix “This language feature is only supported for ECMASCRIPT6 mode” in GTM? GTM 中的错误:此语言功能仅支持 ECMASCRIPT_2015 或更好的模式:const 声明 - Error in GTM: This language feature is only supported for ECMASCRIPT_2015 mode or better: const declaration GTM,Object 描述错误? 仅支持 ECMASCRIPT6 模式? - GTM, Object Description Error? Only supported for ECMASCRIPT6 mode? Arrow函数如何在ECMAScript6中工作 - How does the Arrow function work in ECMAScript6 ECMASCRIPT6 Google 标签管理器错误:箭头函数 - ECMASCRIPT6 Google Tag Manager Error: Arrow function ECMAScript6中类中的碰撞函数 - Collision function inside a class in ECMAScript6 ECMAScript6 AngularJS过滤器 - ECMAScript6 AngularJS Filter 带ECMAScript6的JSHint:方法未定义 - JSHint with ECMAScript6: method is not defined
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM