Java 如何解决任务中的承诺?

Java 如何解决任务中的承诺?,java,android,react-native,Java,Android,React Native,我有一个方法,应该得到一个位置,并发送其结果作为一个解决的承诺。然而,我不知道如何等待听者完成或解决问题。它使用谷歌服务API获取当前位置 //LocationModule.java @反应法 public void getLocation(字符串调试消息,承诺){ 试一试{ this.fusedLocationClient.getLastLocation() .addOnSuccessListener(新的OnSuccessListener(){ @凌驾 成功时的公共无效(位置){ 如果(位置

我有一个方法,应该得到一个位置,并发送其结果作为一个解决的承诺。然而,我不知道如何等待听者完成或解决问题。它使用谷歌服务API获取当前位置

//LocationModule.java
@反应法
public void getLocation(字符串调试消息,承诺){
试一试{
this.fusedLocationClient.getLastLocation()
.addOnSuccessListener(新的OnSuccessListener(){
@凌驾
成功时的公共无效(位置){
如果(位置!=null){
承诺。解决(地点);
}
}
});
//resolve.resolve(debugMessage);这将在上面的承诺之前调用,如果它不在这里,应用程序将崩溃
}捕获(例外e){
承诺。拒绝(“出了问题”,e);
}
}

为了澄清,我知道我不能只发送位置对象,但coversion会让我担心以后您的代码看起来不错。只需将您的承诺声明为
final
。它不会改变任何东西,因为调用此承诺时它不会改变。