我一直在阅读很长一段时间的示例,但不幸的是,我一直无法将解决方案应用到我正在使用的代码中。一些快速的事实/什锦信息:在同步方法中调用异步
1)我是新的C#
2)贴在下面的代码是从亚马逊网络服务(主要是股票)
3)的代码,目的是修改将服务器信息与离线已下载的信息进行比较,并创建需要下载文件的列表。这个剪辑是从服务器端创建的列表,AWS的唯一选择是调用异步,但在继续前进之前,我需要完成此操作。
public void InitiateSearch()
{
UnityInitializer.AttachToGameObject(this.gameObject);
//these are the access key and secret access key for credentials
BasicAWSCredentials credentials = new BasicAWSCredentials("secret key", "very secret key");
AmazonS3Config S3Config = new AmazonS3Config()
{
ServiceURL = ("url"),
RegionEndpoint = RegionEndpoint.blahblah
};
//Setting the client to be used in the call below
AmazonS3Client Client = new AmazonS3Client(credentials, S3Config);
var request = new ListObjectsRequest()
{
BucketName = "thebucket"
};
Client.ListObjectsAsync(request, (responseObject) =>
{
if (responseObject.Exception == null)
{
responseObject.Response.S3Objects.ForEach((o) =>
{
int StartCut = o.Key.IndexOf(SearchType) - 11;
if (SearchType == o.Key.Substring(o.Key.IndexOf(SearchType), SearchType.Length))
{
if (ZipCode == o.Key.Substring(StartCut + 12 + SearchType.Length, 5))
{
AWSFileList.Add(o.Key + ", " + o.LastModified);
}
}
}
);
}
else
{
Debug.Log(responseObject.Exception);
}
});
}
我不知道如何申请等待到Client.ListObjectsAsync行,我希望大家可以给我一些指导,让我保持我的头发多几年。
所以在这种情况下,AWSFileList正在被填充,然后它返回到调用所有其他方法的主要方法。我应该在哪里应用.wait()或.result()?我试着用这种方法标记asysnc,但每次都会抛出一个错误。 – Icewing726