2017-07-05 5 views
0

私はこれを持って、ES6 - 収量およびリターン同時に

function*(a){ 
if (a) { 
    yield API.callRoute(); 
    return; 
    } 
    // other stuff that is blocked by return 
} 

私はこれをしたい:

function*(a){ 
    if (a) { 
    return yield API.callRoute(); // one fewer line of code 
    } 
    //... 
} 

なんとか?どうして?何故なの?

+0

あなたのコードを試しましたか?これは実際に動作するはずです... – sp00m

+0

私はあなたのコードについて少し混乱しています。作成したジェネレータを使用していないようです。あれは正しいですか? – MoeSattler

+0

@MoeSattlerはいこれはアプリの小さな部分です –

答えて

1

はい、それは実行可能ですが、の2番目のスニペットはyieldの結果です。あなたがそれをしたいが、あなたの最初のスニペットに、それは全く同じにしない場合は、おそらくそれは差が重要である場合は、この行短いを作る価値はないものの、

return void yield API.callRoute(); 

を使用しています。

関連する問題