import进去的js回调函数没有返回值

发布于 2022-09-07 21:50:29 字数 782 浏览 25 评论 0

我把智慧合约有关js全写在了一个js里面,然后用页面的js调用,回调函数没有返回值。

自己写的公共js
clipboard.png

import Eos from 'eosjs';

/*getuser*/
export function getuser(getuserCallBack) {
    const result = 123456789;
    return getuserCallBack(result);
}

index.js调用

import getuser from './eosFunc';
getuser(getuserCallBack());
function getuserCallBack(result) {
    alert(result);
}

localhost运行

clipboard.png

clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

海螺姑娘 2022-09-14 21:50:29
export function getuser(getuserCallBack) {
    const result = 123456789;
    return getuserCallBack(result);
}
import {getuser} from './eosFunc';
export default function getuser(getuserCallBack) {
    const result = 123456789;
    return getuserCallBack(result);
}
import getuser from './eosFunc';
与酒说心事 2022-09-14 21:50:29

export了吗

财迷小姐 2022-09-14 21:50:29

getuser(getuserCallBack());

改成

getuser(getuserCallBack);
忆悲凉 2022-09-14 21:50:29

首先 @说好的一血呢 他说的对
原因呢 我们用带类型系统的写法(flow/ts)去看待就很清晰了

function getuser(getuserCallBack: function):any {
    const result = 123456789;
    return getuserCallBack(result);
}

function getuserCallBack(result: any):void {
    alert(result);
}

很显然getuser方法接受的参数类型应该是function 而你填的却是getuserCallBack() 意即getuserCallBack函数的执行结果,也就是void
所以,报错

人│生佛魔见 2022-09-14 21:50:29

将原来共有函数function getuser改为 var getuser = function之后可以调用,但是公有函数的return值获取不到。。。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文