自分用めも

初心者ちっくなプログラムネタを中心に、自分用の覚え書きをメモっていくための場所です。

UniRxでPostでタイムアウトトラップ

Unity 5.3.4f1 (windows 64bit)
UniRx ver 5.2.0


Getの例はあるけどPostの例が見当たらなかったので。

  • POST。
  • データはJSONでやりとり。
// form要素設定
WWWForm form = new WWWForm();
form.AddField("data", GameData.RequestLoadVersion.Instance.ToJson());

// Postリクエスト
ObservableWWW.Post(Define.ApiUrl, form)
    //タイムアウト時間設定
    .Timeout(TimeSpan.FromSeconds(30))
    .Subscribe(result =>
    {
        try
        {
            // JSONをパース
            Debug.Log("ok");
        }
        catch (System.Exception e)
        {
            Debug.Log("JSONのパースに失敗しました");
        }
    },
    err =>
    {
        if (err.GetType() == typeof(System.TimeoutException))
        {
            Debug.Log("タイムアウトしました。リトライしますか?的な");
        }
        else
        {
            Debug.Log("通信に失敗、その他クリティカルエラーです。");
        }
    });