我有 3 个函数:initializeData
、initializecartGroup
和 initializeCartGroupItem
。 initializeData
运行给定的表单组,JSON 将它们解析为数据对象。另外两个“帮助程序”函数也解析各个组和项目。我需要在数据函数中为辅助函数设置回调,但我不知道如何设置。有人可以帮我从这里出去吗?最终目标是找到给定表单上包含信息的所有 div,将其转换为数据对象,然后将其输出回给定 DOM 元素中的页面。
function initializeData() {
var cartGroups = document.querySelector('.cartGroups');
if (null !== cartGroups) {
var data = JSON.parse(cartGroups.innerHTML);
data.forEach(function (cartGroup, index) {
var group = new cartGroup();
data.forEach(function (cartGroupItem, index) {
var item = new cartGroupItem();
});
});
}
}
function initializeCartGroup() {
var cartGroup = document.querySelector('.cartGroup');
if (null !== cartGroup) {
var data = JSON.parse(cartGroup.innerHTML);
}
}
function initializeCartGroupItem() {
var cartGroupItem = document.querySelector('.cartGroupItem');
if (null !== cartGroupItem) {
var data = JSON.parse(cartGroupItem.innerHTML);
}
}
最佳答案
这是使用回调的示例 -
function initializeData(callback) {
var cartGroups = document.querySelector('.cartGroups');
if (null !== cartGroups) {
var data = JSON.parse(cartGroups.innerHTML);
data.forEach(function (cartGroup, index) {
var group = new cartGroup();
data.forEach(function (cartGroupItem, index) {
var item = new cartGroupItem();
});
});
callback();
}
}
调用init函数时 -
initializeData(initializeCartGroup);
这将在 forEach 循环之后运行回调函数initializeCartGroup。
关于javascript - JSON后的回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30379565/