function somethingThatReturnsADisposableResource() {
return getSomeResourceAsync(...).disposer(resource => {
resource.dispose()
})
}
Promise.using(somethingThatReturnsADisposableResource(), resource => {
// use the resource here, the disposer will automatically close it when Promise.using exits
})