Javascript 在这种情况下,我能履行承诺吗

Javascript 在这种情况下,我能履行承诺吗,javascript,promise,Javascript,Promise,我必须为下面的代码实现承诺,如何在这里实现承诺, 我想等到for循环结束,然后打印出来 var a=['1'];//让我们只说数组长度不应该超过10。 函数附加项(id){ 如果(id==1){ a、 推送(id); }否则{ 附加(id); } }): 函数附加项(id){ a、 推送(id); }): $('.class')。每个(函数(索引){ id=指数+1; 地址(id); }因为所有这些方法都是同步的,所以在这种情况下实现承诺只需要返回一个承诺,因为每个循环都将运行到完成 因此,它

我必须为下面的代码实现承诺,如何在这里实现承诺, 我想等到for循环结束,然后打印出来

var a=['1'];//让我们只说数组长度不应该超过10。
函数附加项(id){
如果(id==1){
a、 推送(id);
}否则{
附加(id);
}
}):
函数附加项(id){
a、 推送(id);
}):
$('.class')。每个(函数(索引){
id=指数+1;
地址(id);

}因为所有这些方法都是同步的,所以在这种情况下实现承诺只需要返回一个承诺,因为
每个
循环都将运行到完成

因此,它可以简单到:

   return Promise.resolve().then(()=>{
      // Put your code here
   });

本例很好地将任何同步代码转换为承诺。如果您有任何异步回调,则需要使用不同的方法。

您的代码发生了什么?!
}):
您的代码是同步工作的。承诺是针对异步任务的。请用一个有效的用例更新你的例子,并澄清你在这里试图实现什么。为什么你需要在这里使用承诺?因为循环是同步的,这是家庭作业吗?为什么你需要使用承诺?实际上你可以给这个问题一个更好的标题。请记住,这是一个免费社区,人们将使用该信息进行搜索。感谢您的回复,在我的原始代码中,我有ajax请求在addit和additagain的位置进行,因此我需要承诺停止,直到每个循环结束,以便我可以访问最终数组。在这种情况下,您的代码应该非常不同,如果这是您的意图,则不能使用每个
。不过,这个答案与您输入的示例代码相匹配,我认为应该接受它作为答案,以免让人们对此感到困惑。您可以用正确的示例打开一个新问题,否则您将用误导性的答案污染这个论坛。