异步发出 运行 一个方法,并返回一个对象

Issues running a method asynchronously, and returning an object

在我的代码中,我正在读取一个 class 中的 json 文件,并需要它 return 我创建的对象。

我命名为 StockData 的对象(它是一只带有代码、名称、价格等的股票)

在第 2 页中,我调用了第 1 页中的方法 'getStockData()'。

该方法类似于:

public async Task<StockData> getStockData()
        {
            string apiString = await apiConnection.DownloadStringTaskAsync(API);

            // ... important code is run ...
            // ... newStock is created as a  new StockData() type ...

            // returning newStock, which returns as a Task<StockData>
            return newStock;
        }

不幸的是,出于显而易见的原因,我不能只 return StockData,因为异步方法不能那样工作。

但是,在调用该方法的第二页上,我需要找出某种方法将其从任务中转换出来...

这是我在另一边的例子:

StockData newStock = dm.getStockData();

现在我明白了为什么它不起作用。所以我不需要解释为什么我的代码不工作。我只是没有让它工作的解决方案。

有谁知道我如何让它工作?我可以对我的代码进行任何变通或调整,同时仍然允许该方法异步运行?

非常感谢! :)

使用 await 关键字?

StockData newStock = await dm.getStockData();

操作将异步执行,return 值将是 StockData 类型。