如何重复请求/(使循环)

本文关键字:循环 何重复 请求 | 更新日期: 2023-09-27 17:49:33

我向服务器发出请求25秒,如果发生了什么,连接停止,我得到我的值,如果没有-当时间完成时,我得到一个空字段的json。我如何在两种情况下重复我的请求?此时,我为每个请求使用一个按钮。

    string connect_lp = "http://" + response.response.server + "?act=a_check&key=" + response.response.key + "&ts=" + response.response.ts + "&wait=25&mode=2";
    string json_lp = client.DownloadString(connect_lp);
    RootObject response_lp = (RootObject)json_serializer.Deserialize(json_lp, typeof(RootObject));

如何重复请求/(使循环)

如果你只是不断地轮询数据或其他东西,使用

while (true)
{
    // code goes here
}

循环。如果您只是轮询直到某个条件存在,请尝试使用do/while循环:

do {
    // some stuff
} while (!condition);
do/while循环的美妙之处在于循环的内容将总是至少执行一次(注意while检查是如何在循环的底部进行的)。与此形成对比的是传统的while循环,while循环首先执行检查,因此循环体可能根本不会运行。

在你的例子中,你可能想要这样写:

string connect_lp;
string json_lp;
RootObject response_lp;
do {
    connect_lp = "http://" + response.response.server + "?act=a_check&key=" + response.response.key + "&ts=" + response.response.ts + "&wait=25&mode=2";
    json_lp = client.DownloadString(connect_lp);
    response_lp = (RootObject)json_serializer.Deserialize(json_lp, typeof(RootObject));
    // do more stuff
} while (response_ip.IsNotEmpty()); // or whatever.