网络请求后如何进行回调?-鸿蒙开发者社区-51CTO.COM

网络请求后如何进行回调?

我想问一下网络请求之后如何进行回调,目前网络请求成功后内部又套了几个方法,全部走完之后怎么进行回调

用什么方法,有没有大佬指点一二


网络与连接
HarmonyOS NEXT
2024-05-11 15:15:42
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FredomKing

回调有两种,一种通过then、catch回调,一种是通过传入回调函数,代码如下,不知是不是你想要的。

call() {
      this.getData().    then(res => {
        console.log(res)
  }).    catch((e: BusinessError) => {
        console.log(e.message)
  })

  this.getDataWithCallback((err, res) => {
        if (err) {
          console.log(err.message)
    }     else {
          console.log(res)
    }
  })
}

getData(): Promise<string> {
  return new Promise((resolve, reject) => {
    // 假设进行网络请求得到响应结果
    let code = 200
    // let code = 500
        if (code == 200) {
      resolve('hello world!')
    }     else {
      let e: BusinessError = {
        code: code,
        name: 'ServerInternalError',
        message: 'Sorry, something went wrong!'
      }
      reject(e)
    }
  })
}

getDataWithCallback(callback: (err: BusinessError | null, res?: string) => void): Promise<string> {
  return new Promise((_resolve, _reject) => {
    // 假设进行网络请求得到响应结果
    // let code = 200
    let code = 500
        if (code == 200) {
      callback(null, 'hello world!')
    }     else {
      let e: BusinessError = {
        code: code,
        name: 'ServerInternalError',
        message: 'Sorry, something went wrong!'
      }
      callback(e)
    }
  })
分享
微博
QQ
微信
回复
2024-05-13 13:15:44
相关问题
用户端网络质量如何进行监听
276浏览 • 1回复 待解决
支付成功没有收到
1705浏览 • 1回复 待解决
网络请求怎么进行SSL证书认证?
3362浏览 • 1回复 待解决
HarmonyOS网络请求JSON转换问题
596浏览 • 1回复 待解决
网络请求创建,持久化问题
538浏览 • 1回复 待解决
网络请求数据的处理
332浏览 • 1回复 待解决
interface如何调用
864浏览 • 1回复 待解决
如何进行系统崩溃监控?
630浏览 • 1回复 待解决
HarmonyOS 如何进行音频合成
251浏览 • 1回复 待解决
HarmonyOS 如何声明全局函数
238浏览 • 1回复 待解决
多个Cookie如何进行批量设置
1998浏览 • 1回复 待解决