Javascript Promise.all无法找到父承诺的解决方案
我有一个包含N个html选项的页面。我有一个名为“run_all_ajax”的函数,它循环遍历它们并调用一个ajax函数来填充它们。我想要一个承诺,只有当promise.all在其中完成时,才能从run_all_ajax返回 现在,控制台显示: 全部完成,0 毕竟 0、1、2、3等 这意味着在我添加到promises数组之前,promise.all已解析。我如何纠正这个问题 此外,我想了解一系列承诺在时间方面是如何起作用的。我们是否假设可以循环选择数组并将它们添加到承诺数组中,比使用Promise.all()解析所有未完成的承诺更快Javascript Promise.all无法找到父承诺的解决方案,javascript,jquery,promise,Javascript,Jquery,Promise,我有一个包含N个html选项的页面。我有一个名为“run_all_ajax”的函数,它循环遍历它们并调用一个ajax函数来填充它们。我想要一个承诺,只有当promise.all在其中完成时,才能从run_all_ajax返回 现在,控制台显示: 全部完成,0 毕竟 0、1、2、3等 这意味着在我添加到promises数组之前,promise.all已解析。我如何纠正这个问题 此外,我想了解一系列承诺在时间方面是如何起作用的。我们是否假设可以循环选择数组并将它们添加到承诺数组中,比使用Promis
Promise.push在请求完成时调用,该请求在Promise.all之后执行
基本上,您正在调用Promise.all([])
,它会立即解决问题
这个
也会立即解决。它等于承诺。解决(“完成”)
你在错误的地点(时间)推送承诺。无需创建新承诺
。您需要的承诺由$.ajax()返回
我们也要这样做:
promises.push($.ajax({
//stuff
}));
new Promise(function (resolve, reject) { resolve("Complete"); })
promises.push($.ajax({
//stuff
}));