jxhczhl / JsRpc

远程调用(rpc)浏览器方法,免去抠代码补环境
1.16k stars 297 forks source link

异步方法返回值 #12

Closed lsdlh closed 1 year ago

lsdlh commented 1 year ago

如何获取异步方法返回值,用await和then都不行

jackect commented 1 year ago

注册方法时用异步函数

demo.regAction('myip', async (resolve) => {
    let ip = await (await fetch('http://api.ipaddress.com/myip?format=json')).json();
    console.log(ip);
    resolve(ip.ipaddress);
})

image 直接执行异步js代码,要修改一下默认注册的_execjs方法

demo.handlers._execjs=function (resolve,param){eval(param)}

image

lsdlh commented 1 year ago

注册方法时用异步函数

demo.regAction('myip', async (resolve) => {
    let ip = await (await fetch('http://api.ipaddress.com/myip?format=json')).json();
    console.log(ip);
    resolve(ip.ipaddress);
})

image 直接执行异步js代码,要修改一下默认注册的_execjs方法

demo.handlers._execjs=function (resolve,param){eval(param)}

image

好的谢谢