DeferredResult
์ด ํด๋์ค๋ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ์ํด ์ฌ์ฉ๋๋ฉฐ, ๊ฒฐ๊ณผ๊ฐ ๋ฐ๋ก ์ค๋น๋์ง ์์ ๋ ์ฌ์ฉํฉ๋๋ค. ํด๋ผ์ด์ธํธ ์์ฒญ์ ๋ฐ๋ก ๋ฐํ๋๊ณ , ์ค์ ๊ฒฐ๊ณผ๋ ๋์ค์ ์ค์ ๋ ์ ์์ต๋๋ค.
ํ๋:
timeoutValue
: ํ์์์์ ์ํ ๊ฐ์ ๋๋ค.null
์ด ๋ ์๋ ์๊ณ , ๋ฐ๋ฆฌ์ด ๋จ์๋ก ํ์์์ ์๊ฐ์ ๋ํ๋ ๋๋ค.timeoutResult
: ํ์์์ ๋ฐ์ ์ ๋ฐํํ ๊ธฐ๋ณธ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํ๋Supplier
๊ฐ์ฒด์ ๋๋ค.์ฝ๋ฐฑ ํจ์๋ฅผ ์ํ ํ๋๋ค์ด ์ฌ๋ฌ ๊ฐ ์์ต๋๋ค: ํ์์์(
timeoutCallback
), ์๋ฌ(errorCallback
), ์๋ฃ(completionCallback
) ์ ํธ์ถ๋ฉ๋๋ค.resultHandler
: ๊ฒฐ๊ณผ๋ฅผ ์ฒ๋ฆฌํ ๋ ์ฌ์ฉํ๋ ํธ๋ค๋ฌ์ ๋๋ค.result
: ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๋ ๋ณ์์ ๋๋ค. ์ด๊ธฐ ์ํ๋RESULT_NONE
์ผ๋ก ์ค์ ๋ฉ๋๋ค.expired
: ๊ฐ์ฒด๊ฐ ๋ง๋ฃ๋์๋์ง๋ฅผ ๋ํ๋ด๋ ํ๋๊ทธ์ ๋๋ค.
๋ฉ์๋:
๊ฒฐ๊ณผ๊ฐ ์ค์ ๋์๋์ง ํ์ธํ๋
isSetOrExpired()
๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ค๋
getResult()
๊ฒฐ๊ณผ๋ฅผ ์ค์ ํ๋
setResult()
์setErrorResult()
๊ฐ์ข ์ฝ๋ฐฑ์ ์ค์ ํ๋ ๋ฉ์๋๋ค:
onTimeout()
,onError()
,onCompletion()
๊ฒฐ๊ณผ๋ฅผ ์ฒ๋ฆฌํ
DeferredResultHandler
์ธํฐํ์ด์ค๋ฅผ ์ ์ํฉ๋๋ค.
์ด ํด๋์ค๋ ์ผ๋ฐ์ ์ผ๋ก ์น ์์ฒญ์ ์ฒ๋ฆฌํ ๋ ์ฌ์ฉ๋ฉ๋๋ค. ์์ฒญ์ด ๋ค์ด์ค๋ฉด ์๋ฒ๋ DeferredResult
๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ํด๋ผ์ด์ธํธ์๊ฒ ๋ฐ๋ก ๋ฐํํฉ๋๋ค. ์๋ฒ๋ ๋ค๋ฅธ ์ค๋ ๋์์ ๊ณ์ฐ์ด๋ ์ฒ๋ฆฌ๋ฅผ ๊ณ์ํ๊ณ , ๊ฒฐ๊ณผ๊ฐ ์ค๋น๋๋ฉด DeferredResult
๊ฐ์ฒด์ ๊ฒฐ๊ณผ๋ฅผ ์ค์ ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ์คํ๋ง ํ๋ ์์ํฌ๊ฐ ํด๋ผ์ด์ธํธ์๊ฒ ๊ฒฐ๊ณผ๋ฅผ ์๋์ผ๋ก ๋ณด๋
๋๋ค.
์์
๋จผ์ , ์๋น์ค ๊ณ์ธต์ ์ด๋ค ๊ธฐ๋ฅ์ ๋น๋๊ธฐ์ ์ผ๋ก ์คํํ๊ธฐ ์ํ ์ค์
๊ทธ๋ฆฌ๊ณ ์ปจํธ๋กค๋ฌ์์ ์ด ์๋น์ค๋ฅผ ๋น๋๊ธฐ์ ์ผ๋ก ํธ์ถํ๋ ๋ฐฉ๋ฒ
DeferredResult
๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ ์ ์ฉํ๋ค
DeferredResult
๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ ์ ์ฉํ๋ค์ธ๋ถ ์์คํ ์ผ๋ก๋ถํฐ์ ๋น๋๊ธฐ์ ์ธ ์๋ต์ ๊ธฐ๋ค๋ฆด ๋
๊ฒฐ๊ณผ๊ฐ ์ค๋น๋๋ ๋ฐ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๋ ์์ ์ ์ฒ๋ฆฌํ ๋
์คํ๋ง MVC์ ์ค๋ ๋๋ฅผ ๋ถํ์ํ๊ฒ ์ ์ ํ์ง ์๊ณ ๋ค๋ฅธ ์์ฒญ์ ์ฒ๋ฆฌํ๊ฒ ํ๊ณ ์ถ์ ๋
Last updated
Was this helpful?