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

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

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


网络与连接
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
微信
回复
8天前
相关问题
支付成功没有收到
233浏览 • 1回复 待解决
网络请求怎么进行SSL证书认证?
1552浏览 • 1回复 待解决
鸿蒙Js如何进行信息存储!
1448浏览 • 1回复 待解决
如何进行页面横竖屏切换
338浏览 • 1回复 待解决
OpenHarmony idl如何实现异步
2840浏览 • 1回复 待解决
Emitter如何声明函数类型
166浏览 • 1回复 待解决
如何为 C++ 提供函数?
646浏览 • 1回复 待解决
$r中的资源如何进行比较
299浏览 • 1回复 待解决
FA卡片如何进行数据交互
514浏览 • 1回复 待解决
多个Cookie如何进行批量设置
278浏览 • 1回复 待解决
如何实现crash堆栈抓取、crash
276浏览 • 1回复 待解决
PolarDB 如何进行数据通信?
1427浏览 • 1回复 待解决
NAPI执行上层时,如何获取env
374浏览 • 1回复 待解决
Android端和mySQL端如何进行交互?
439浏览 • 1回复 待解决
求大佬告知如何进行des加解密
150浏览 • 1回复 待解决
ArkTS侧与Native侧如何进行map数据交互
394浏览 • 1回复 待解决
NEXT网络请求如何上传大文件 ?
141浏览 • 1回复 待解决
webview如何实现网络请求拦截功能
278浏览 • 1回复 待解决