2017-03-02 98 views
1

在现代的Javascript中,我们有一种叫做Promises的东西。我们可以在Promise中使用rejectresolveJavascript承诺拒绝后显式返回

我的问题是:是否需要在Promise中呼叫rejectresolve之后明确返回?因此,像这样:

function foo() { 
    ... 
    return new Promise((resolve, reject) => { 
    ... 
    if (err) { 
     reject(err); 
     // return; 
    } 

    if (httpResponse.statusCode === 200) { 
     resolve(httpResponse); 
     // return; 
    } 
    }); 
} 
+0

是的,除非您将其余代码包装在'else'语句中,否则即使出现错误,也需要使用“返回”来避免检查statusCode。 – Bergi

+0

好的。我现在正在讨论这个问题。 – artificis

+0

oops ..已关闭:) – artificis

回答

-1

我的问题是:我是否需要呼叫拒绝或 决心无极里面后明确地返回?所以像这样:

不,你不需要一个return语句。

Mozilla Developer Network's Promises article

语法

new Promise(/* executor */ function(resolve, reject) { ... }); 

正如你所看到的,没有提到任何返回语句。

+0

虽然这可能在理论上回答这个问题,[这将是更可取的](http://meta.stackoverflow.com/q/8259)在这里包括答案的基本部分,并提供该链接供参考。 –

+0

谢谢。我是这个网站的新手。将更新答案。 –