ฉันพบพฤติกรรมที่น่าสนใจขณะสำรวจ IAsyncEnumerable ในโครงการ ASP.NET Web API พิจารณาตัวอย่างรหัสต่อไปนี้:
    // Code Sample 1
    [HttpGet]
    public async IAsyncEnumerable<int> GetAsync()
    {
        for (int i = 0; i < 10; i++)
        {
            await Task.Delay(1000);
            yield return i;
        }
    }
    // Code Sample 2
    [HttpGet]
    public async IAsyncEnumerable<string> GetAsync()
    {
        for (int i = 0; i < 10; i++)
        {
            await Task.Delay(1000);
            yield return i.ToString();
        }
    }
ตัวอย่างที่ 1 (int array) จะคืนค่า{}เป็นผลลัพธ์ของ JSON
["0","1","2","3","4","5","6","7","8","9"]ผลตัวอย่าง 2 ผลตอบแทนที่คาดว่า อย่างไรก็ตามอาร์เรย์ JSON ทั้งหมดจะถูกส่งคืนพร้อมกันหลังจากรอ 10 วินาที ไม่ควรส่งคืนเนื่องจากข้อมูลพร้อมใช้งานตามที่คาดไว้จากอินเทอร์เฟซ IAsyncEnumerable หรือมีวิธีใดที่ควรใช้ API ของเว็บนี้
IAsyncEnumerable<int>ไปIAsyncEnumerable<object>- มันควรจะทำงาน แต่แล้วก็มีความเป็นมวยที่เกี่ยวข้อง)