AbortController支持?

阅读 546
1 个回答

解决方案:

demo参考:

import emitter from '@ohos.events.emitter';
@Entry
@Component
struct Index {
  innerEvent: emitter.InnerEvent = { eventId: 1 };

  myPromise(): Promise<string> {
    return new Promise((resolve, reject) => {
      setTimeout(() => resolve('res'), 3000)
      emitter.on(this.innerEvent, () => reject('abort'));
    })
  }

  build() {
    Row() {
      Column() {
        Button("开始异步任务")
          .onClick(() => {
            this.myPromise().then(res => console.log(res)).catch((err: string) => console.log(err))
          })

        Button("中断异步")
          .onClick(() => emitter.emit(this.innerEvent))
      }
      .width('100%')
    }
    .height('100%')
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进