0

Shopify のカート内の商品タイプを計算しようとしています。これには、関連する 2 つの getJSON 呼び出しが必要です。以下は私が現在持っているコードです。明らかにいくつかの問題があり、それらを克服する最善の方法がわかりません。非同期をオフにしたくありません。これはハックな方法のように思えます。

var smallCount, mediumCount, largeCount; 

$(document).ready(function()
{
  $.getJSON('/cart.js', function(cart) //Gets all the items in a cart.
  {

    smallCount = 0; mediumCount = 0; largeCount = 0;

    //Go through each item in the cart.
    for(var i = 0; i < cart.items.length; i++)
    {   
            //For each item we're going to grab the json info
            //Specifically looking for the product type
        $.getJSON('/products/'+cart.items[i].handle+'.js', function(product) { 
            if(product.type == "Small")
            { smallCount += cart.items[i].quantity; } //These don't work
            else if (product.type == "Medium")
            { mediumCount += cart.items[i].quantity; } //These don't work
            else if (product.type == "Large")
            { largeCount += cart.items[i].quantity; } //These don't work
        }); 
    }

    //Here or below I'd like to do some analysis on the product types in the cart.
    //I want to get all of the counts and then do some work with them.
    mathHappening = smallCount + mediumCount + largeCount;  
  });
});   
4

1 に答える 1