回调和承诺之间有什么区别

时间:2013-01-09 19:19:25

标签: javascript

  

可能重复:
  What are the differences between Deferred, Promise and Future in Javascript?

有人能指出回调和承诺之间有什么区别吗?应该何时使用承诺等?

还将赞赏有关如何创建和使用承诺的链接。

1 个答案:

答案 0 :(得分:40)

Promise提供了一种更简洁明了的方式来表示javascript中的顺序异步操作。它们实际上是一种不同的语法,可以实现与回调相同的效果。优点是提高了可读性。像这样的东西

aAsync()
  .then(bAsync)
  .then(cAsync)
  .done(finish);

比将

中的每个函数作为回调传递等效更具可读性
Async(function(){
    return bAsync(function(){
        return cAsync(function(){
            finish()
        })
    })
});