我正在尝试将一个成员数据数组加载到一个 javascript 变量中,以便我可以从几个不同的函数中对其进行操作。在给它旧的大学尝试之后,我迷路了。
我了解异步函数的必要性,以免阻塞主线程,但我能够填充全局变量的唯一方法是将函数结果存储到 session.Storage,然后从那里在其他函数中调用它。虽然这可行,但它似乎是一个额外的步骤。
async function fetchMember($vid) {
let options = {
method: 'POST',
async:false,
body: JSON.stringify({vid: $vid}),
headers: {
'Content-Type': 'application/json', // sent request
'Accept': 'application/json' // expected data sent back
},
}
let response = await fetch('getMember.php', options);
let $member = await response.text();
sessionStorage.setItem("member", $member)
return ($member); // this is a promise because it is in an async function
} //end of function
fetchMember("999999").then ($dog=> console.log ("Then = " + $dog))// $dog is a promise
console.log ("Member = " + $member); // undefined
$member = session.Storage ("member") // work as expected
我可以“ .then ”将承诺的结果记录到控制台,但对于我来说,我无法弄清楚如何将它存储在全局变量中。