message: fix: make sure global state is restored in the case of an exception in macrotask callback
diff: @@ -81,9 +81,11 @@ if (typeof Promise !== 'undefined' && isNative(Promise)) {
  export function withMacroTask (fn: Function): Function {
  return fn._withTask || (fn._withTask = function () {
  useMacroTask = true
  - const res = fn.apply(null, arguments)
  + try {
  + return fn.apply(null, arguments)
  + } finally {
  useMacroTask = false
  - return res
  + }
  })
  }
  