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;
});
});