๋ก๋์ฒดํฌ๋ถ๋ถ๋ง ๋ณด๋ฉด๋จ,ย itemList.Count๋ ๋ก๋ฉํ๋ฉด์ ๊ณ์ ๋์ด๋๋์ค์ด๊ณ ย isLoaded๊ฐ true์ผ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋๊ฑด๋ฐ
2๋ฒ WaitUntil ๋์ ์ ํ ์คํฌ๋ก ๋ฐ๊พธ๋ ค๊ณ ํจ.ย ์ผ๋จ 1๋ฒ์ผ๋ก ๋๊ธฐํ๋๊ฑด ๋๋๋ฐย
Task.Run์ผ๋ก ์์ผ๋ฌธ ๋๋ฆฌ๋ ๋ฐฉ๋ฒ๋ฐ์ ์๋๊ฑด์ง..?
c# ๊ธฐ๋ณธ์ผ๋ก WaitUntil๊ฐ์ ํด๋์ค ๋ฐ๋ก ์์?
์์ while์ซ์ผ๋ฉด TaskCompletionSource๋ง๋ค์ด์ itemList.Count๋ก๋ฉ๋๋๋ฉด SetResult๋ก ๋์ง๋๊ฐ ์์ ์ฝ๋๋ ์ปจํฐ๋ด์ ์ธํ์์๊ณ ๋ฐ๋ก var maxItemCount = await ItemReference...๋ก ๋ฐ์ด
ใณใณ ๊ทผ๋ฐ await ItemReference.. ๋ฐ๋ก ๋ ํผ๋ฐ์ค ์ฐจ์ผ๋์นด์ดํธ ๋ชป๋ฝ์๋ด๋๊ฑฐ๊ฐ์๋ฐ.. ๋ ์ฐพ์๋ณผ๊ป
๊ดํธ ํ์ํ ๋ฏ var maxItemCount = (await InventoryReference...).ChildCount;
???????? ์ ๊ดํธ์น๋๊น ์นด์ด๋์์ฑ ๋์ค์ง??
Item..... ์ Task<์๋ณด์ด๋๊น ๋ชจ๋ฅด๊ฒ ์ง๋ง ๋ฐํ๊ฐํด๋์คํ> (Taskํ) ์ด๋ผ์ ๊ทธ๋๋ก ์ฉ ์ฐ๋ฉด await์ ์ด๋ผ ์๋ณด์ด๊ณ await์ ๊ดํธ๋ก ๊ฐ์ธ๋ฉด Task๊ฐ ๋๋ ์๋ณด์ด๋๊น ๋ชจ๋ฅด๊ฒ ์ง๋ง ChildCount๊ฐ์ง๊ณ ์๋ ํด๋์ค ๊ฐ ๋ฐํํ์ด๋จ
์๋๋ฉด var result = await Inventory... var maxItemCount = result.ChildCount;ํด๋๋ญ
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
ใ ใ ๋ฐฉ๊ธ ์คํํด๋ณด๋๊น ๊ดํธ์น๋๊น ํ์คํฌ๊ฐ ์ฌ๋ผ์ง๋ค. await์ ๊ดํธ๋ก ๊ฐ์ธ๋๊ฒ ์์๊ตฌ๋
๋ชจ๋ฐ์ผ์ด๋ผ ๋๋์ ์๊พธ ์ํ๋ฐ ๋ค๋ค ์๋ฆฌ
์ฝ๋ฃจํด ์์ฐ๋์ด์ ํน์ ๋ฐ๋ก์์?
๋ฆ๊ฒ๋ดค๋๋ฐ ์ธ๋ฒคํ ๋ฆฌํด๋์ค๋ฅผ ์ฑ๊ธํค์์ ์คํฌ๋ฆฝํฐ๋ธ์ค๋ธ์ ํธ๋ก ๋ฐ๊ฟง๋๋ฐ ๋ชจ๋ ธ๋นํค์ด์ด๊ฐ ์์ด์ ์คํํธ์ฝ๋ฃจํด ๋ชป์จ