异步发出 运行 一个方法,并返回一个对象
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
类型。
在我的代码中,我正在读取一个 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
类型。