Javascript (async()=>{})();vs回调

Javascript (async()=>{})();vs回调,javascript,callback,async-await,Javascript,Callback,Async Await,是这样吗?就性能而言,我发现它们大致相同 他们有什么不同吗? 我应该遵循什么样的模式? 我想使用第一个async/await,但是如果我去掉async=>{};我发现在UI中渲染东西比在第二个UI中渲染要慢 他们有什么不同吗 您应该从then回调返回,以便错误正确传播。除此之外,他们基本上是平等的 我应该遵循什么样的模式 这两个都是,你不应该忘记 处理错误 我想使用async/await,但如果我去掉async=>{};我觉得慢一点 当然可以,因为你在循环中等待,所以它会变得有序。如果你添加一些

是这样吗?就性能而言,我发现它们大致相同

他们有什么不同吗? 我应该遵循什么样的模式? 我想使用第一个async/await,但是如果我去掉async=>{};我发现在UI中渲染东西比在第二个UI中渲染要慢

他们有什么不同吗

您应该从then回调返回,以便错误正确传播。除此之外,他们基本上是平等的

我应该遵循什么样的模式

这两个都是,你不应该忘记 处理错误

我想使用async/await,但如果我去掉async=>{};我觉得慢一点


当然可以,因为你在循环中等待,所以它会变得有序。

如果你添加一些循环/If,第一种模式很容易做到,但第二种模式会让你感到痛苦。有人说async/awaut只是语法上的糖分,而这适用于某些情况,例如您的情况,但实际上并不适用于更复杂的情况。
async function test() {
  for (var i = 0; i < balance; i++) {      
    (async () => {            
      var a = await this.test1(i);
      var b = await this.test2(a);
      var c = await this.test3(b);  
      this.doThis(a,b,c);                              
    })();
  }
}
function test() {
  for (var i = 0; i < balance; i++) {      
    test1().call().then((a) => {           
      test2().call(a).then((b) => {
        test3().call(b).then((c) => {
           this.doThis(a,b,c);   
         });
      });
    });
  }
}