Javascript 如何确保jQuery$。在继续之前完成每个
我正在使用Javascript 如何确保jQuery$。在继续之前完成每个,javascript,jquery,jquery-plugins,Javascript,Jquery,Jquery Plugins,我正在使用add\u record方法开发jQuery插件(见下文)。如果查看函数定义,有两个$。每个循环将值附加到plugin.payload 现在,一切正常。然而,如果记录或选项真的很大呢?我是否需要担心在发出传输调用之前,$.each()没有完成 如果是,解决这个问题的最佳方式是什么 plugin.add_record = function (records, options, callback) { if (typeof (options) == "function") {
add\u record
方法开发jQuery插件(见下文)。如果查看函数定义,有两个$。每个循环将值附加到plugin.payload
现在,一切正常。然而,如果记录或选项真的很大呢?我是否需要担心在发出传输调用之前,$.each()
没有完成
如果是,解决这个问题的最佳方式是什么
plugin.add_record = function (records, options, callback) {
if (typeof (options) == "function") {
callback = options;
options = undefined;
}
if (options) {
$.each(options, function (index, value) {
plugin.payload.append($(value));
});
}
$.each(records, function (index, value) {
plugin.payload.append($(value));
});
transmit('API_AddRecord', plugin.payload, 'db', function (data) {
return typeof (callback) == "function" ? callback(data) : data;
});
}
不,不需要担心,因为和是同步函数
在同步执行语句时,只有在完成一条语句后,它才会移动到下一条语句
只有在循环内部执行一些异步操作(如ajax请求/动画等)时才会出现问题,而在本例中,您没有执行这些操作。每个
都是同步的,因此不必担心调用无法完成。您唯一会遇到麻烦的时候是在循环中启动异步的东西(比如ajax调用)。可能重复的,我在过去几天中经常遇到这个问题。您是否有关于如何处理该用例的示例和/或推荐模式?(每个里面都有阿贾克斯)@doremi你需要自己跟踪它。例如:@doremi我建议使用Promises/A(这就是$.ajax
返回和jQuery调用的内容)。然后您可以$。当
浏览$的结果时。每个
(即,依次返回每个承诺并使用每个like映射)。