Tôi có một phương pháp mà tôi muốn chờ đợi nhưng tôi không muốn gây ra một hiệu ứng domino suy nghĩ bất cứ điều gì có thể gọi phương pháp gọi điện thoại này và chờ đợi nó. Ví dụ, tôi có phương pháp này:Làm cách nào tôi có thể chờ một phương thức không đồng bộ mà không có công cụ sửa đổi không đồng bộ trong phương thức gốc này?
public bool Save(string data)
{
int rowsAffected = await UpdateDataAsync(data);
return rowsAffected > 0;
}
Tôi gọi:
public Task<int> UpdateDataAsync()
{
return Task.Run(() =>
{
return Data.Update(); //return an integer of rowsAffected
}
}
này sẽ không làm việc vì tôi có phải đặt "async" trong chữ ký phương pháp Save()
và sau đó tôi có thể Không trả lại bool
Tôi phải làm cho nó Task<bool>
nhưng tôi không muốn bất cứ ai đang chờ phương thức Save()
.
Có cách nào tôi có thể tạm ngưng thực thi mã như chờ đợi hoặc bằng cách nào đó đang chờ mã này mà không có công cụ sửa đổi không đồng bộ không?
Tôi sẽ rất khó chịu nếu bạn cho tôi truy cập vào phương thức 'Lưu' chặn chuỗi của tôi, do đó buộc tôi phải gọi điện trong 'Task', đó chính xác là những gì bạn có thể trả lại cho tôi ngay từ đầu . Chỉ cần nói. –