我正在搜索如何按照它编写的顺序执行代码(因为只要满足某些条件我才需要效果)并且解决方案似乎是回调函数。我试过这个:
(function(callback) {
let found = false;
$.getJSON("people.json", function(data) {
$.each(data.people, function() {
if (this.number === $('#number').text()) {
console.log("yes");
found = true;
}
});
});
callback(found);
})(function(found) {
if (found == false) {
console.log("no");
}
});
所以我创建了这些函数,但它似乎没有按预期工作,因为回调函数在另一个函数结束之前执行。
当找到某些内容时,控制台将记录否,然后是,这意味着它没有按顺序发生。
现在我发现这个函数没有同步,我怎么能确定我的js文件的其余部分是否按预期工作?什么时候可以期待同步,什么时候不能?
删除了该功能并执行了此操作:
let found = false;
$.getJSON("people.json", function(data) {
$.each(data.people, function() {
if (this.number === $('#addFriendScreen > p').eq(0).text()) {
found = true;
console.log("true");
}
});
if (found === false) {
console.log("false");
}
});
}
现在可行了