2016-03-22 33 views
0

からではなく拒否しますonError()使用throw ..;キャッチは、私はいつも<code>func()</code><code>resolve</code>をしましょう、と私はに指示したい場合<code>yield func()</code>、<br> 後の戻り結果を決定する前に一品、</p> <p>によって<code>onError()</code>に直接、私は<code>func()</code><code>reject</code>からのエラーを保持したい約束

は、私はちょうどonError()たりしないように指示し、yield func()func()rejectが、detemireをさせることができます任意のより良いアイデアを疑問に思います

co(function*() { 
    yield func(); 
    // if reject catch here, not direct to onError 


    yield func(); 
    // if reject don't catch here just direct to onError 

}).then(function (response) { 
    response = JSON.stringify(response); 
    res.send(response); 
}, function (err) { 
    onError(err); 
}); 


// ... 
func: function() { 
    return new Promise(function (resolve, reject){ 
    ... 
    reject(); 
    }); 
}, 

答えて

1

cotry/catchをサポートしています。

co(function*() { 
    try{ 
     yield func(); 
    } 
    catch { 
    // if reject catch here, not direct to onError 
    } 




    yield func(); 
    // if reject don't catch here just direct to onError 

}).then(function (response) { 
    response = JSON.stringify(response); 
    res.send(response); 
}, function (err) { 
    onError(err); 
}); 

は、ドキュメントを参照してください:https://www.npmjs.com/package/co#examples

+0

おかげでそんなに! – user1575921

関連する問題

 関連する問題