rust 在lib中的方法返回的int类型,electron 中调用可以正常; 但是在lib中的方法返回字符串的时候,electron中调用的时候,页面就跳转并是空白,这种情况该如何操作? 若是lib中方法返回的是对象,eclectron如何接受调用的数据
1
共 3 条评论, 1 页
rust 在lib中的方法返回的int类型,electron 中调用可以正常; 但是在lib中的方法返回字符串的时候,electron中调用的时候,页面就跳转并是空白,这种情况该如何操作? 若是lib中方法返回的是对象,eclectron如何接受调用的数据
评论区
写评论markdown格式化一下,看不清
rust中的代码 /// 获取计算机主机cpu核心量 #[no_mangle] pub extern "C" fn get_cpus(x: i32) -> i32 { let result: i32 = num_cpus::get() as i32; return result * x; }
#[no_mangle] pub extern "C" fn get_cpu(x: String) -> i32 { return 12; }
#[no_mangle] pub extern "C" fn get_h(x: String) -> String { String::from("hello world!") }
electron 中js代码
let obj = ffiLib(libPath, { 'res_json': ['string', []], 'get_cpus':['int',['int']], 'get_cpu':['int',['string']], 'get_h':['string',['string']] });
// window.onload=function() { // alert(1111444); var rustLib = document.getElementById("rust_lib"); rustLib.onclick = function () { alert('rust-lib'); var valu = obj.res_json(); // var test_str = str2json(obj.res_json()); // alert(test_str); // alert(JSON.stringify(test_str)); let mytext = document.querySelector('#rust_json') // mytext.innerHTML = "1111"; mytext.innerHTML = valu; // mytext.innerHTML = JSON.stringify(test_str); }
js调用吗?上代码。