gpt4 book ai didi

javascript - 如何在另一个函数中使用 $.getJSON 返回的变量

转载 作者:行者123 更新时间:2023-11-30 00:25:20 26 4
gpt4 key购买 nike

我有一个带有多个属性和方法的 javascript 对象。我想在第二个方法中调用第一个方法,以获取披萨的默认配料数量并将其与另一个值进行比较。但是,我发现在第二种方法的比较中没有值。

谷歌搜索这个问题,我看到我必须在第一种方法中进行回调,但它对我不起作用。那么,当第二种方法中的“点击”事件发生时,我如何确定属性 obj.app.defaultIngredients 将具有 JSON 返回的值?而且,在那一刻,我可以比较您在第二种方法中也可以看到的值(value)?

这是我的(不工作的)代码:

obj = {};
obj.app = {

defaultIngredients: '',

getDefaultIngredientsNumber: function() {
$.getJSON('/sites/all/json/pizza.json', function(data) {
var node = $('.node').attr('data-nid'),
node = 'node-' + node; // returns something like 'node-3'
$.each(data, function(key, val) {
// This returns an integer
obj.app.defaultIngredients = parseInt(data[node].general.default_ingredients);
});
}).done(function() {
return obj.app.defaultIngredients;
});
},

customAddToCart: function() {
$('#button').click(function(){
var defaultIngredients = obj.app.getDefaultIngredientsNumber();
var selectedIngredients = 0;
if defaultIngredients >= selectedIngredients) {
alert('Add some ingredients');
}
}
}
};

我们将不胜感激。

最佳答案

getDefaultIngredientsNumber: function(callback) {
$.getJSON('/sites/all/json/pizza.json', function(data) {
var node = $('.node').attr('data-nid'),
node = 'node-' + node; // returns something like 'node-3'
$.each(data, function(key, val) {
obj.app.defaultIngredients = parseInt(data[node].general.default_ingredients);
});

callback(obj.app.defaultIngredients)
})
},

customAddToCart: function() {
$('#button').click(function(){
obj.app.getDefaultIngredientsNumber(function(defaultIngredients) {
var selectedIngredients = 0;
if (defaultIngredients >= selectedIngredients) {
alert('Add some ingredients');
}
})
})
}

关于javascript - 如何在另一个函数中使用 $.getJSON 返回的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31641601/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com