【发布时间】:2021-03-05 02:50:08
【问题描述】:
public class OkHttpDns implements Dns {
@NotNull
@Override
public List<InetAddress> lookup(@NotNull String hostname) throws UnknownHostException {
MyLookUpUtility.getInstance.lookup(hostname, new MyLookUpUtility.lookupCallback()
{
@Override
public void onlookupResponseSuccess(JSONObject nslookupResponseJSON) {
Log.d("LookupResponse", nslookupResponseJSON.toString());
}
@Override
public void onlookupResponseFailure(String errCode) {
Log.d("LookupResponse", "Error Code : "+errCode);
}
});
}
}
在上面的代码中,OKHttp的DNS接口的查找方法想要立即返回。但是我的自定义 NSLookupUtility 是一个异步调用,我将在一段时间后获得主机名的 IP 地址。如何解决这个问题呢?如何使同步调用等待其中的异步调用?
【问题讨论】: