2017-12-09 11 views
-1

私はWebアプリケーションを開発しています。アンドロイドラッパーにはアンドロイドの名前を付けたJavaScriptインターフェイスがあり、IOSにはインターフェイスの名前が付けられています。私は両方のインターフェースを試す必要がありますが、どちらか一方だけが応答します。ベストプラクティス:JavaScriptで2つのことを試してみてください。

2回目の試行をどこに配置するのか分かりません。最初にお試しくださいの内部? catchまたは最終的にまたはにスローするか、try/catchブロックを完全に分離しますか?

どれが論理的に優先され、どちらがパフォーマンスが優れていますか?

最初のアイデア:

try { 
    ios.myMethod(); 
    } 

catch(err) { 

      try { 
       android.myMethod(); 
       } 
      catch{ 
       console.log('The Android does not exist'); 
        } 

      console.log('The ios does not exist'); 
     } 

第二アイデア:

try { 

    try { 
      android.myMethod(); 
      } 
    catch{ 
     console.log('The Android does not exist'); 
      } 

    ios.myMethod(); 
    } 

catch(err) { 
      console.log('The ios does not exist'); 
     } 

第三のアイデア:

try { 
    ios.myMethod(); 
    } 

catch(err) { 
      console.log('The ios does not exist'); 
     } 
finally{ 

     try { 
      android.myMethod(); 
      } 
     catch{ 
     console.log('The Android does not exist'); 
      } 
     } 

私の最後のアイデア:

try { 
     android.myMethod(); 
     } 
catch{ 
    console.log('The Android does not exist'); 
     } 

try { 
     ios.myMethod(); 
     } 
catch{ 
    console.log('The IOS does not exist'); 
     } 
+0

もしどちらか一方が返答すると確信が持てるなら、どうして両方をチェックしていますか? – mehulmpt

+0

ウェブベースのアプリケーションで、どのデバイスがそれを使用するのかわかりません –

答えて

0

最初のアイデアは適切だと思われます。代わりにelse文を使用できるかどうかを調べてみてください。

if (window.ios && window.ios.myMethod { 
    ios.myMethod(); 
} else if (window.android && window.android.myMethod) { 
    android.myMethod(); 
} 
+0

なぜ他人に最初の方法が好まれますか? –

+0

少ないことを試すのは唯一の方法です。また、JavaScriptで多くの場合、アンチパターンがあります。 –

関連する問題