我知道这可能很简单,但是我无法用普通的javascript弄清楚。我正在执行访存调用并在其后设置一个变量,我知道没有回调或等待ES7等是不可能的。问题是我必须使用ES6或更早版本。运行提取调用后,如何在结果上设置变量?
postData(baseUrl)
.then(data =>
Qualtrics.SurveyEngine.setEmbeddedData("QuestionsForValidation", (data))) // JSON-string from `response.json()` call
.catch(error => console.error(error));
function postData(url) {
// Default options are marked with *
return fetch(url, {
method: "GET", // *GET, POST, PUT, DELETE, etc.
mode: "cors",
// include, *same-origin, omit
headers: {
"Content-Type": "application/json",
"x-api-token": Qualtrics.SurveyEngine.getEmbeddedData("APIToken"),
"accept": "application/json"
}
})
.then(response => response.json()); // parses response to JSON
}
var JSONString = JSON.stringify(Qualtrics.SurveyEngine.getEmbeddedData("QuestionsForValidation").result)
由于javascript是异步的,因此未设置变量。我希望从提取调用的结果中设置变量。请让我知道是否需要澄清。