将自定义参数添加到休息回调操作

本文关键字:回调 操作 自定义 参数 添加 | 更新日期: 2023-09-27 18:32:02

我在编写一个非常基本的工具时遇到了问题,该工具用于在WPF窗口中列出视频游戏中的一些"物品"(以及它们在游戏内拍卖行上各自的价格)。

我从 REST 服务中获取过去 30 天特定项目 (id) 的价格趋势,该服务为我提供了如下内容:

[{"timestamp":"1453892281000","buy":"3411","sell":"3791"},{...},...]
我一次

请求大约 100 个项目的价格趋势(全部异步),在处理响应数据时,我通过 RestSharp 获得一个包含响应所有字段的类。现在的问题是我无法将响应数据与项目匹配,因为其余响应不会向我提供响应。有没有办法将ID(整数)添加到操作/回调中?

public static void getItemPriceHistory(int itemId, ListingsView view)
{
    var request = new RestRequest("itemPriceTrend/" + itemId);
    Action<List<RestItemPriceHistory>> ariph = view.processItemPriceHistory;
    executeAsync(request, ariph);
}
public static void executeAsync<T>(RestRequest request, Action<T> callback) where T : new()
{
    var client = new RestClient();
    client.BaseUrl = BaseUrl;
    var asyncHandle = client.ExecuteAsync<T>(request, aresp => {
        callback(aresp.Data);
    });
}

我希望我的问题可以理解,如果不是,请说出来,我会尽力提供不同的解释:)

将自定义参数添加到休息回调操作

我刚刚发现了我该怎么做:只需向操作添加第二个参数:

 Action<List<RestItemPriceHistory>, int> ariph = view.processItemPriceHistory;

正因为如此,当然也在回调中:

callback(aresp.Data, itemId);

现在看起来很简单,不知道为什么我没有早点尝试:)