看到一个面试题 , 原生小程序中api的调用 , 都是回掉函数 , 怎么处理成优雅的链式调用呢?
那肯定是通过promise 封装起来啊 , 怎么封装呢?很简单 , 代码如下
/** * * promisify化api * * @param {string} swan 小程序(swan, wx等) * @param {string} method api名字 * @param {object} options api参数 * @return {function(*=): Promise<*>} promisify的api */ export default const promisify = swan => method =>。options => new Promise((resolve, reject) => {if (!swan[method]) {reject();}swan[method]({...options,success: res => resolve(res),fail: err => reject(err)}); });
封装起来很简单 , 我想把封装好的东西 , 可以让其他人公用 , 但是不想每次需要用的时候都要手动copy代码 , 怎么办呢?网上有很多教程 , 我这边记录一下我选用的cnpm搭建的过程
通过cnpm搭建自己的私仓库
1.安装
npm install -g --build-from-source cnpmjs.org cnpm sqlite3# 如果报错或者警告通过下面方式安装npm install -g --unsafe-perm --verbose --build-from-source cnpmjs.org cnpm sqlite3
文章插图
安装响应的包
2.启动并配置服务
// 管理员:eric@baidu.com// 范围:@duer// 默认端口:7001-registry, 7002-webnohup cnpmjs.org start --admins='10xxxxxx@qq.com' --scopes='@duer'
文章插图
配置并启动服务
3.设置注册地址
将cnpm默认注册地址更改为私有注册地址
cnpm set registry http://localhost:7001
4.登录cnpm文章插图
注册 , 登录
5.创建上传到私有库
把开头我们promisify的文件 , 上传到我们的私有库
cnpm publish
文章插图
上传到私有库
6.预览我们的包
浏览器预览我们的包
open http://localhost:7002/@duer/promisify
文章插图
浏览器自动打开这个页面 , 是不是很熟悉
7.安装
cnpm install @duer/promisify
好了 , 就到这里了 。注: 既然已经封装好了 , 就把连接贴出来吧
https://github.com/airwaycai/promisify/blob/master/index.ts
【通过cnpm搭建自己的私仓库】
推荐阅读
- 小程序直播教程:如何从零搭建小程序直播平台
- 茶叶展会,如何通过茶叶营销策划打开销路
- 探索Redis持久化原理
- 晚上运动完睡不着怎么办呢
- Linux+Nginx+MySQL+PHP CentOS 8.1下搭建LEMP环境
- 卫生间防水,不能只看闭水试验,这几种试验全部通过,防水才及格
- 房贷审批不通过 退首付 房贷审批不通过首付怎么办
- 怎么取消抖音达人资质认证 抖音个人认证为什么就是不能通过
- VPN技术介绍
- CentOS搭建本地DNS服务器,实现正向解析和反向解析,你学会了吗