【小程序】使用uni-app搭建小程序环境---封装接口

Promise 封装

uni-app 对部分 API 进行了 Promise 封装,返回数据的第一个参数是错误对象,第二个参数是返回数据。

详细策略如下:

  • 异步的方法,如果不传入 success、fail、complete 等 callback 参数,将以 Promise 返回数据。例如:uni.getImageInfo()
  • 异步的方法且有返回对象,如果希望获取返回对象,必须至少传入一项 success、fail、complete 等 callback 参数。例如:uni.connectSocket()
  • 同步的方法(即以 sync 结束),不封装 Promise。例如:uni.getSystemInfoSync()
  • 以 create 开头的方法,不封装 Promise。例如:uni.createMapContext()
  • 以 manager 结束的方法,不封装 Promise。例如:uni.getBackgroundAudioManager()

使用示例:

// 默认方式
uni.request({
    url: 'https://www.example.com/request',
    success: (res) => {
        console.log(res.data);
    }
});

// Promise
uni.request({
        url: 'https://www.example.com/request'
    })
    .then(data => {//data为一个数组,数组第一项为错误信息,第二项为返回数据
        var [error, res]  = data;
        console.log(res.data);
    })

// Await
function async request () {
    var [error, res] = await uni.request({
        url: 'https://www.example.com/request'
    });
    console.log(res.data);
}

相关资料:

原文地址:https://www.cnblogs.com/websmile/p/11585451.html