我经常调用fetch,因此我试图使其成为可重用的函数。
async function getXML(url) {
const result = await fetch(url);
const xml = await result.text().then(( str ) => {
return new DOMParser().parseFromString(str, 'application/xml');
});
log(xml); //logs fine
}
我从var xml = getXML(url).then( work_with_setup_xml(xml) );
叫它
函数“ work_with_setup_xml”开始时没有数据。 我走了多远?
答案 0 :(得分:2)
这应该做到:
async function getXML(url) {
const result = await fetch(url);
const str = await result.text();
return new DOMParser().parseFromString(str, 'application/xml');
}
答案 1 :(得分:2)
修正return
中的getXML
语句(如其他注释所建议)后,您的呼叫是错误的。应该是
getXML(url).then(work_with_setup_xml);
或
getXML(url).then(function(xml) { work_with_setup_xml(xml) });
或
var xml = await getXML(url);
work_with_setup_xml(xml);
答案 2 :(得分:0)
那么返回更改数据呢?
async function getXML(url) {
const result = await fetch(url);
return await result.text().then(( str ) => {
return new DOMParser().parseFromString(str, 'application/xml');
});
}
并实际使用它:
let xml = getXML(url).then(xml => work_with_setup_xml(xml));