2016-07-27 13 views
2

のために私は例えば、ES6で約束を返す関数を書くことについて学んでいる:デフォルト戻り値解決済みの約束

function async() { 
    return new Promise(function (resolve, reject) { 
    if (doStuff()) { 
     resolve(value); 
    } else { 
     reject(error); 
    } 
    } 
} 

時には、resolve(value)に戻って渡すことは有用な値はありません。このような場合、返されるデフォルト値は何ですか?

+1

通常、引数なしで呼び出すだけです。約束は未定義に解決されます。 –

+0

実際に戻ってくる価値がないのは非常に稀です。呼び出し元が*何かを待っていないなら、なぜ彼は待っていて、約束を返すのですか? – Bergi

答えて

2

returnステートメントを持たない関数と同様に、undefinedを返す場合は、undefinedの約束を返す必要があります。明示的にそれをresolveに渡すか、単に引数を省略してください。デフォルトはundefinedです。

1

引数を指定せずにresolve()reject()を使用することができます。

+3

...しかし、決して引数なしで 'reject'を使うべきではありません。 – Bergi