鍍金池/ 問答/Java  網(wǎng)絡(luò)安全  HTML/ import進去的js回調(diào)函數(shù)沒有返回值

import進去的js回調(diào)函數(shù)沒有返回值

我把智慧合約有關(guān)js全寫在了一個js里面,然后用頁面的js調(diào)用,回調(diào)函數(shù)沒有返回值。

自己寫的公共js
clipboard.png

import Eos from 'eosjs';

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

index.js調(diào)用

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

localhost運行

clipboard.png

clipboard.png

回答
編輯回答
懶洋洋

export了嗎

2018年5月17日 13:33
編輯回答
不舍棄

getuser(getuserCallBack());

改成

getuser(getuserCallBack);
2017年12月20日 02:27
編輯回答
忘了我

將原來共有函數(shù)function getuser改為 var getuser = function之后可以調(diào)用,但是公有函數(shù)的return值獲取不到。。。

2018年7月4日 10:40
編輯回答
雨蝶

首先 @說好的一血呢 他說的對
原因呢 我們用帶類型系統(tǒng)的寫法(flow/ts)去看待就很清晰了

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

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

很顯然getuser方法接受的參數(shù)類型應(yīng)該是function 而你填的卻是getuserCallBack() 意即getuserCallBack函數(shù)的執(zhí)行結(jié)果,也就是void
所以,報錯

2017年4月24日 07:41
編輯回答
懶洋洋
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';
2018年4月18日 19:46