快速开始
服务器
由于还在开发中,所以暂时只有Express的版本,更多的Trigger,正在开发
安装命令
npm i rpc-lite --save
express 的加载方法
var express = require(express.js);var app = express();var Mrpc = require("./index");var mrpc = new Mrpc(); //使其不支持跨域//mrpc.CROS = false; //获取express的Trigger, 使用express的路由app.use("/api",mrpc.getTrigger("express")); app.listen(80);
绑定函数方法
mrpc.add("test",(p1,p2)=>{ //可以直接返回 或者选择 返回Promise对象 return Promise.resolve("test success");});
获取附件
mrpc;
浏览器
由于这个库直接基于Promise
下开发的,所以浏览器需要加入polyfill
在使用前,请插入库
<!-- Promise的polyfil ,如果需要支持IE,则需要加入 --> <!-- sql-lite的web版,加载方式还支持 CommonJS,AMD,CMD -->
初始化对象
//直接根据路由初始化var mrpc = new Mprc("/api"); //使用完整路径初始化(记得带上协议),可以跨域var mrpc = new Mprc("http://local/api");
执行远程函数
//调用方式//mrpc.run(funcName[,arg1,arg2...]) mrpc.run("test","参数1","参数2").then(function(result){ //这里打印出远程函数的返回值 console.log(result);}).catch(function(err){ //发生错误的时候,则会触发catch,包括 函数运行发生错误(包括手动抛出),找不到函数等 //err.code 错误码 //err.message 错误信息 //err.data 错误数据(手动throw非Error类型数据,云函数返回Promise.reject 的时候,才有数据)})
使用扩展
//扩展函数mrpc.extend({ //给函数设置附件 file: { //input[type=file] 的id el: ["f1","f2"], progress:function(p){ console.log("已发送:",p.loaded,"总大小:",p.total) } }}).run("test","参数1","参数2").then(function(result){ //这里打印出远程函数的返回值 console.log(result);})
前端测试方法
后台还没编写好相应的API的时候,可以先用本方法用作开发时的测试
mrpc.isDebug = true; //添加测试函数mrpc.debugAdd("localTest",function(){ var whatYouWant = {want:true}; return whatYouWant;})