我已经开发JavaScript几年了,我完全不了解关于promise的麻烦。
看来我所做的就是改变:
api(function(result){
api2(function(result2){
api3(function(result3){
// do work
});
});
});
无论如何我都可以使用像async这样的库,它有类似以下内容:
api().then(function(result){
api2().then(function(result2){
api3().then(function(result3){
// do work
});
});
});
哪个代码更多,可读性更差。我在这里什么都没得到,也不是突然变得神奇地“平坦”。更不用说必须将事情变成诺言。
那么,这里的诺言有什么大惊小怪的呢?
JavaScript Promises实际上使用回调函数来确定在Promise被解决或拒绝后该怎么做,因此两者没有本质上的不同。Promises背后的主要思想是采用回调-尤其是嵌套的回调,您想在其中执行某种操作,但它更具可读性。