没有异步操作的Promise的目的是什么?

时间:2018-05-22 13:14:37

标签: javascript promise polymer

我在Polymer web组件中找到了以下注释

https://github.com/PolymerElements/app-storage/blob/master/app-localstorage/app-localstorage-document.html

  

app-localstorage-document是一个的参考实现   使用AppStorageBehavior的元素。阅读它的代码是一个好方法   开始编写自己的存储元素。

所以我开始阅读代码,但不明白为什么作者使用这样的承诺:

saveValue: function(key) {
    try {
      this.__setStorageValue(key, this.data);       
    } 
    catch (e) {
      return Promise.reject(e);
    }
    this.key = key;
    return Promise.resolve();
  }

我唯一的想法是我可以使用承诺的then / catch符号

saveValue(42)
  .then(() => saveValue(21))
  .catch(() => ...);

但"经典"之间的区别是什么?方式

try {
  saveValue(42);
  saveValue(21);
} catch(e) {...}

0 个答案:

没有答案