当前位置:  开发笔记 > 编程语言 > 正文

如何决定当时/捕获的承诺

如何解决《如何决定当时/捕获的承诺》经验,为你挑选了0个好方法。

所有:

我是Promise的新手,这是一个例子:

var someAsyncThing = function() {
  return new Promise(function(resolve, reject) {
    // this will throw, x does not exist
    resolve(x + 2);
  });
};

var someOtherAsyncThing = function() {
  return new Promise(function(resolve, reject) {
    reject('something went wrong');
  });
};

someAsyncThing().then(function() {
  return someOtherAsyncThing();
}).catch(function(error) {
  console.log('oh no', error);
});

我不太了解.then()是如何与Promise一起工作的,现在我可以理解someAsyncThing()返回一个Promise,它将产生一个异常,从而转向.catch()部分.如果我们换resolve(x+2)resolve(4),那么它会去运行someOtherAsyncThing();和返回另一个承诺,

第一个问题是.then()的返回是否是Promise?

第二个问题,如果在someOtherAsyncThing()的承诺,我使用resolve(x+2)造成了异常,那么它也去同.catch()一部分,那么我怎么能作出这样的.catch()只捕获异常引起的someAsyncThing()"为链接的承诺(和同样的问题.then(),如果有任何)?

谢谢

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有