花了一整天时间试图解决这个问题,但无法快速实现。
基本上我需要遍历一系列购物车项目并提取产品ID'S。完成后,我可以使用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个对象?
答案 0 :(得分:0)
我并不完全熟悉你正在做的事情,但似乎你多次解决这个承诺,这可能只是第一次有效。你应该尝试为每个请求使用一个承诺,将这些承诺集中在一个父母和#34;保证然后在String myDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String myUrl = "jdbc:sqlserver://myServerName:1433;DatabaseName=myDatabase";
Connection myConnection = DriverManager.getConnection(myUrl, myUN, myPWD);
中返回这个承诺。只有在所有子承诺得到解决后,才能解决这一承诺。
你可以尝试这个,但我可以'测试这个并且我不熟悉JQuery Promises所以我无法保证这将起作用。希望它仍然可以帮到你! :)
getLatestProducts