2017-09-08 8 views
0

私は、サービスに依存するアプリケーションがあるとします。私は自動的に、次のサービスのインスタンスの要求を再試行したい。他のURLでリクエストを自動的に再試行します

var url = 'http://myservice1.com:3001' 
function getItems() { 
    return new Promise((resolve, reject) => { 
    request(url+'/api/items',(body,error) => { 
     if(error) reject(error) 
     else resolve(body) 
    }) 
    }) 
} 
+0

@ジャロマンダXそうです。もっと複雑になるかもしれないので、私はそれを明確にするために使った。提案してくれてありがとう、私は何かを変更する、実際にそれを使用して:) – Strernd

+0

@ JaromandaX私はちょうど怠惰に行き、通常は約束関数にコールバックを使用して '要求'になった。今より多くの意味があります – Strernd

+0

クール、私のコメントを削除します:p –

答えて

0

あなたが複数のURLを約束する機能を実行プロミス機能、のためのラッパーを使用することができます。

これは、例えば要求です。 async-wrapはこれを実装しています。

function getItems(){ 
    var urls = getServiceUrls() // Returns array 
    return coalesce(urls, requestItems) 

    function requestItems(url) { 
     return new Promise((resolve, reject) => { 
      request(url+'/api/items', (body,error) => { 
       if(error) reject(error) 
       else resolve(body) 
      }) 
     }) 
    } 
} 

免責事項:私はその問題を持っていたし、きちんとした解決策を探したので、私は、そのパッケージを開発し あなたはこのようにそれを使用することができます。私はこの問題に取り組むための他の提案をしています。

関連する問題