分享好友 数智知识首页 数智知识分类 切换频道

微信小程序封装Promise实现异步操作

微信小程序中,我们可以使用`Promise`来实现异步操作。在微信小程序中,可以使用`setTimeout`函数来模拟异步操作。下面是一个简单的示例。...
2025-05-11 16:1090

微信小程序中,我们可以使用`Promise`来实现异步操作。在微信小程序中,可以使用`setTimeout`函数来模拟异步操作。下面是一个简单的示例:

```javascript

// 封装一个Promise

function promiseWrapper(fn, resolve, reject) {

return function (...args) {

const result = fn.apply(this, args);

if (result === resolve) {

resolve(result);

} else if (result === reject) {

reject(new Error(result));

}

};

}

// 使用封装的Promise

function asyncFunction() {

return new Promise((resolve, reject) => {

setTimeout(() => {

微信小程序封装Promise实现异步操作

console.log('异步操作完成');

resolve('异步操作成功');

}, 1000);

});

}

// 调用封装的Promise

asyncFunction().then(res => {

console.log(res); // 输出:异步操作成功

}).catch(err => {

console.log(err); // 输出:undefined

});

```

在这个示例中,我们首先定义了一个`promiseWrapper`函数,它接受一个回调函数、一个解析值和一个拒绝值作为参数。这个函数返回一个新的函数,这个新的函数会调用传入的回调函数,并根据结果来决定是调用解析函数还是拒绝函数。

然后,我们定义了一个`asyncFunction`函数,它返回一个`Promise`对象。这个`Promise`对象在1秒后执行一个`setTimeout`函数,这个`setTimeout`函数打印一条消息并调用`resolve`函数。

最后,我们调用了`asyncFunction`函数,并使用`then`方法处理成功的情况,使用`catch`方法处理错误的情况。

举报
收藏 0
推荐产品更多
蓝凌MK

智能、协同、安全、高效蓝凌MK数智化工作平台全面支撑组织数智化可持续发展Gartner预测,组装式企业在实施新功能方面能力超80%竞争对手。未来,企业亟需基于“封装业务能力”(Packaged Business Capability,简称PBC)理念,将传统OA及业务系统全面升级为组...

4.5 118

帆软FineBI

数据分析,一气呵成数据准备可连接多种数据源,一键接入数据库表或导入Excel数据编辑可视化编辑数据,过滤合并计算,完全不需要SQL数据可视化内置50+图表和联动钻取特效,可视化呈现数据故事分享协作可多人协同编辑仪表板,复用他人报表,一键分享发布比传统...

4.5 92

简道云

丰富模板,安装即用200+应用模板,既提供标准化管理方案,也支持零代码个性化修改低成本、快速地搭建企业级管理应用通过功能组合,灵活实现数据在不同场景下的:采集-流转-处理-分析应用表单个性化通过对字段拖拉拽或导入Excel表,快速生成一张表单,灵活进行...

4.5 84

纷享销客CRM

大多数企业低估了数字化对于增长的贡献数字化工具是增长的高速公路,是增长引擎持续奔跑的基础平台传统山型增长曲线企业用更多资源换得增长,ROI会逐渐下降传统增长模式增长公式=资源投入*转化效率数字化时代新增长曲线数字化升级逐渐突破瓶颈,带来企业持续...

4.5 100

推荐知识更多