我一直在閱讀很長一段時間的示例,但不幸的是,我一直無法將解決方案應用到我正在使用的代碼中。一些快速的事實/什錦信息:在同步方法中調用異步
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