相关疑难解决方法(0)

何时拒绝/解决承诺

我正在考虑何时需要拒绝承诺.我发现了一些关于这个主题的问题,但找不到合适的答案. 我何时应该拒绝承诺?

这篇文章 http://howtonode.org/6666a4b74d7434144cff717c828be2c3953d46e7/promises 说:

  • 解决:成功的Promise'已解决',它会调用正在等待的成功侦听器并记住为附加的未来成功侦听器解析的值.分辨率与返回值相关.
  • 拒绝:遇到错误条件时,Promise被"拒绝",它会调用正在等待的错误侦听器,并记住为附加的未来错误侦听器拒绝的值.拒绝与抛出的异常相关.

这是主要原则吗?如果发生异常,那个人只会拒绝承诺吗?

但是在像这样的功能的情况下

findUserByEmail()
Run Code Online (Sandbox Code Playgroud)

我希望该函数返回一个用户,这样我就可以在不验证结果的情况下继续链接

findUserByEmail()
    .then(sendWelcomeBackEmail)
    .then(doSomeNiceStuff)
    .then(etc..)
Run Code Online (Sandbox Code Playgroud)

什么是最佳/常见做法?

node.js promise q

15
推荐指数
2
解决办法
1万
查看次数

为什么在JS中使用异常来拒绝承诺?

我所指的规范是http://promises-aplus.github.io/promises-spec/.

使用时then(),您可以返回一个承诺,并在您希望时拒绝承诺,或者您可以抛出异常拒绝承诺.

为什么api不是以这种方式设计的,对于then函数来说,它是像原始的promise构造函数一样传递一个解析和拒绝函数?

许多语言中的异常都很繁重(我也假设在javascript中),所以看起来很奇怪他们将它们用作流控制的选择.创建一个全新的promise对象并返回它,只是为了拒绝它,增加了代码膨胀IMO.如果抛出异常(例如语法错误,或者在未定义的对象上调用函数等),调试也会变得更难.

javascript promise

4
推荐指数
1
解决办法
1883
查看次数

标签 统计

promise ×2

javascript ×1

node.js ×1

q ×1