一日中これを理解しようとしましたが、どこも速くなりませんでした。JQuery/Javascript - 複数の約束を解決
基本的には、カートアイテムの配列をループして商品IDを引き出す必要があります。私がそれをしたら、IDを使ってサーバ上の製品の配列を検索し、正しいものを呼び出すことができます。
私のサーバー上で希望の製品を見つけることができたら、ZERO在庫のある製品を探したいと思います。
var getLatestProducts = function() {
var dfd = new $.Deferred(),
productId;
// loop through array (json)
for (var i in cart.contents) {
productId = cart.contents[i].id;
console.log(productId);
// SDK to get desired products from server
moltin.Product.Get(productId, function(product) {
dfd.resolve(product.stock_level);
});
}
return dfd.promise();
};
var promise = getLatestProducts();
promise.done(function(result) {
var stockLevel = result;
if (stockLevel > 0) {
console.log('go to checkout');
} else {
console.log('show alert to stop going through to checkout');
}
});
これは私が私のコンソールで取得していた結果である:
は、これは私がこれまで持っているものです。 2つのオブジェクトをどのようにループするのですか?
サーバーに返されるデータの種類についての説明がないので、コードにはまだまだコメントが追加されています。 –
ごめんなさい、データはJSONです – Richy
どちらの部分が機能していません...? – Hodrobond