1

ここに問題があります。これらのコードを実行したとき:

String responseText = null;

HttpRequest.getString(url).then((resp) {
    responseText = resp;
    print(responseText);
    });
print(responseText);

コンソールで:

{"meta":{"code":200},"data":{"username":"kevin","bio":"CEO \u0026 Co-founder of Instagram","website":"","profile_picture":"http:\/\/images.ak.instagram.com\/profiles\/profile_3_75sq_1325536697.jpg","full_name":"Kevin Systrom","counts":{"media":1349,"followed_by":1110365,"follows":555},"id":"3"}}
null

非同期で実行されます。同期された方法でJAVAの方法はありますか? リクエストが完了するまで待機しますか?私はそれを行うためのトリッキーな方法を1つだけ見つけました.3秒待ってください.

handleTimeout() {
    print(responseText);
}
const TIMEOUT = const Duration(seconds: 3);
new Timer(TIMEOUT, handleTimeout);

もちろん、バグにも対応しています。提案はありますか?

MattB の方法はうまく機能します:

  var req = new HttpRequest();
  req.onLoad.listen((e) {
     responseText = req.responseText;
     print(responseText);
   });
   req.open('GET', url, async: false);
   req.send();
4

1 に答える 1