มีใด ๆสถานการณ์ที่เขียนวิธีการเช่นนี้
public async Task<SomeResult> DoSomethingAsync()
{
// Some synchronous code might or might not be here... //
return await DoAnotherThingAsync();
}
แทนสิ่งนี้:
public Task<SomeResult> DoSomethingAsync()
{
// Some synchronous code might or might not be here... //
return DoAnotherThingAsync();
}
จะทำให้รู้สึก
เหตุใดจึงต้องใช้การreturn await
สร้างเมื่อคุณสามารถกลับTask<T>
จากการDoAnotherThingAsync()
เรียกใช้ภายในได้โดยตรง
ฉันเห็นโค้ดreturn await
ในหลาย ๆ ที่ฉันคิดว่าฉันอาจพลาดอะไรบางอย่างไป แต่เท่าที่ฉันเข้าใจไม่ใช้ async / รอคำหลักในกรณีนี้และกลับงานโดยตรงจะเทียบเท่ากับการทำงาน ทำไมต้องเพิ่มค่าใช้จ่ายเพิ่มเติมของawait
เลเยอร์เพิ่มเติม?