gpt4 book ai didi

javascript - 如何从java返回数据到javascript?

转载 作者:行者123 更新时间:2023-12-02 13:17:21 24 4
gpt4 key购买 nike

我用java编写了 native 代码来获取gmail帐户的帐户信息。

虽然只是从第一种方法返回,但我在 JavaScript 中未定义。在第二种方法中,我通过回调返回电子邮件地址到 js,效果完美。

第一种方法:-

java代码:-

@ReactMethod
public String getUsername() {
AccountManager accountManager = AccountManager.get(myContext);
Account account = getAccount(accountManager);
if (account == null) {
return null;
} else {
return account.name;
}
}

RN 方面:-

let email  = NativeModules.GetInfo.getUsername();
alert(email) //undefined
<小时/>

第二种方法:

java代码:-

@ReactMethod
public void getUsername(Callback errorCallback, Callback successCallback) {
AccountManager accountManager = AccountManager.get(myContext);
Account account = getAccount(accountManager);
if (account == null) {
errorCallback.invoke("not found");
} else {
successCallback.invoke(account.name);
}
}

RN 方面:-

NativeModules.GetInfo.getUsername((error)=> {
alert(error)
},
(email)=> {
alert(email) //works perfect
}
)

最佳答案

我认为你需要用 Promise 来处理它。将方法签名更改为

public void getUsername(final Promise promise){
...
promise.resolve("username");
}

并在你的 JavaScript 中

...
let username = await NativeModules.GetInfo.getUsername();

关于javascript - 如何从java返回数据到javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43720116/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com