Deferred 
deferred 是 promise 的变体,它不同于 promise 在于它还添加的 confirm 与 cancel 方法,方便在外部控制 promise 的流程。
通常您不需要使用它,
constructor中会默认定义deferred用于控制整个overlays的流程。
ts
const deferred = createDeferred<string>()
deferred.then((value) => {
  // value: yes!
})
deferred.confirm('yes!')
await deferred // yes!