java 在GWT应用程序中使用本机JS进行异步调用

pqwbnv8z  于 2022-12-28  发布在  Java
关注(0)|答案(1)|浏览(123)

我有一个GWT应用程序,其中必须包含一个JS函数,所以我使用本机接口在JAVA代码中使用JS函数。
这是我的JS函数

function fetchToken() {
  return fetch(URL, { method: "POST" })
    .then(function(response) {
      return await response.json();
    })
    .then(function(data) {
      return data.secret;
    });
  }

但这样做的问题是,当我通过response.json()接收Promise响应时,它仍然处于挂起状态,所以它不会转到第6行。我尝试使用async,但似乎GWT不支持使用async/await。
有没有一种方法可以在GWT中使用async,或者在GWT中使用除了本机接口之外的JS,而不会遇到这个问题?

j9per5c4

j9per5c41#

function makeAsyncRequest() {
  var xhr = new XMLHttpRequest();
  xhr.onreadystatechange = function() {
    if (xhr.readyState == 4 && xhr.status == 200) {
      // Request was successful. Do something with the response.
      console.log(xhr.responseText);
    }
  };
  xhr.open("GET", "http://example.com/api/endpoint", true);
  xhr.send();
}

相关问题