以下のように非同期関数の結果を比較してみます。
WritableMap res;
res = ServerAuthenticate.signIn(userName, userPass);
Log.d(TAG, " --> res.getString(status).length(): " + res.getString("status").length());
Log.d(TAG, " --> res.getString(status): " + res.getString("status"));
Log.d(TAG, " --> res.getString('status') == 'OK': " + (res.getString("status") == "OK"));
上記のコードは、次のコンソール出力を提供します。
D/!NativeModules( 5899): --> res.getString(status).length(): 2
D/!NativeModules( 5899): --> res.getString(status): OK
D/!NativeModules( 5899): --> res.getString('status') == 'OK': false
res.getString("status")値はOK文字列ですが、それを比較するres.getString("status") == "OK"と返されますfalse。実際にはresults.putString("status", "OK");inServerAuthenticate.signIn()関数のメソッドを使用します。
のプロパティ値を比較する方法はあるのだろうWritableMapか?