「React Native」Promise取消请求

2020-05-27  本文已影响0人  七月流火_9405
  protected controller: AbortController
  protected signal: AbortSignal
  constructor(props) {
        super(props)
        this.controller = new AbortController();
        this.signal = this.controller.signal;
 }
 //对Promise封装
     fetchSignal(promise): Promise<any> {
        if (this.signal.aborted) {
            return Promise.reject();
        }
        return promise().then(res => {
            if (this.signal.aborted) {
                throw new Error('')
            }
            return res
        })
    }
 componentWillUnmount() {
        this.controller.abort()
    }

参考链接:https://developer.mozilla.org/zh-CN/docs/Web/API/FetchController

上一篇 下一篇

猜你喜欢

热点阅读