VPS参考测评推荐
专注分享VPS主机优惠信息
衡天云优惠活动
华纳云优惠活动
荫云优惠活动

代理封装了applet的异步调用(promise封装了applet的请求)

主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情!
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作

上一篇文章:

function wxPromisify(fn) { return async function(args) { return new Promise((resolve,spect) => { fn({ ...(args || {}) , Success : res =>solve(res), failure: err =>reject(err) });}导出函数 toAsync(names) { return (names || []) .map(name => ( { name, member : wx[name] } )) .filter(t => typeof t.member === "function") .reduce((r, t) => { r[t.name] = wxPromisify( wx[t.name ]); return r; }, {});}// 页面/somepage/somepage. jsimport { toAsync } = require("../../utils/async");// .. .const awx = toAsync ([“登录”,“请求”]);await awx.login();await awx.request({...});

也许这已经被封装了?

这次是在我编写的另一个包中 因为在小程序中编写多个toAsync调用确实很乏味。

我可以封装一次并在任何地方调用它吗? 封装了初始化期间使用的所有方法。 然而,泄漏是不可避免的。

我可以封装一次并在任何地方调用它而不初始化它吗? 获取代理主机:

// utils/asyncjsfunction wxPromisify(fn) { ... } // 导出函数 asyncProxy(target) 之前已定义 { return new Proxy(target, {cache: { }, get (it , prop) { const aFn = this.cache[prop]; if (aFn) { return aFn; } const v = it[prop]; if (typeof v !== "function") { return v } return this.cache [prop] = wxPromisify(v); } });}// app.jsimport { asyncProxy } from "./utils/async";App({ onLaunch: function() {wx.awx = asyncProxy(wx); // .... }})// page/somepage/somepage// ...const { awx } = wx;await awx.login();await awx.request({ ...});

说明:

awx 是代理的 wx 对象,因此调用 awx.login() 实际上是先调用代理的 get(wx, "login") 。 寻找替代 wx.login 的东西。

按照上面代码中的逻辑,我们首先使用wxPromisify()在缓存中查找封装的结果。 如果存在则直接返回。 如果没有,先封装成Promise网络函数,缓存起来,然后返回。 。

直观的解释是:

awx.login(); ^^^^^^ get(wx, "login")

推荐教程:《微信公众号》

PHP快速学习视频免费教程(从入门到精通) )

如何学习 PHP?我应该从哪里开始学习 PHP?别担心。 这里有简单的 PHP 学习教程(从初学者到专家)。 您可以保存并下载您想学习的朋友。

下载

这几篇文章你可能也喜欢:

  • 暂无相关推荐文章

本文由主机参考刊发,转载请注明:代理封装了applet的异步调用(promise封装了applet的请求) https://zhujicankao.com/124039.html

【腾讯云】领8888元采购礼包,抢爆款云服务器 每月 9元起,个人开发者加享折上折!
打赏
转载请注明原文链接:主机参考 » 代理封装了applet的异步调用(promise封装了applet的请求)
主机参考仅做资料收集,不对商家任何信息及交易做信用担保,购买前请注意风险,有交易纠纷请自行解决!请查阅:特别声明

评论 抢沙发

评论前必须登录!