网络编程 发布日期:2025/11/5 浏览次数:1
最近在写微信小程序,为了能用上 async/await 方法,需要把微信提供的异步操作包装成 Promise 对象,为此写了一个简单的 promise(fie) 函数:
/**
* @function promise - 将 wx 接口 promise 化
*
* @param { String|Function } wxApi - 需要转换的接口/接口名
* @param { Object|Any } [originParam = {}] - 原接口要求的参数对象
* @param { Object|Any } [extra] - 接口要求的其他参数
*/
function promise(wxApi, originParam = {}, extra){
const api = wxApi instanceof Function"htmlcode">
/**
* @function promise - 将 wx 接口 promise 化
*
* @param { String|Function } wxApi - 需要转换的接口/接口名
* @param { Object|Any } [originParam = {}] - 原接口要求的参数对象
* @param { Object|Any } [context = wx] - 执行上下文
* @param { Object|Any } [extra] - 接口要求的其他参数
*/
function promise(wxApi, originParam = {}, context = wx, extra){
const api = wxApi instanceof Function"htmlcode">
/**
* @function takePhoto - promise风格的拍照接口
*
* @param { Object|Any } [options = {}] - 相机配置
*
* @return {Promise}
*/
export function takePhoto(options = {}){
const tempOptions = {
quality: 'high',
...options
}
const cameraContext = createCameraContext();
return promise(cameraContext.takePhoto, tempOptions, cameraContext);
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。