Всем доброго!
Столкнулся с проблемой того, что второй
POST запрос через
fetch возвращает
Promise pending
Вот код:
getDataToRequest: () => {
return fetch(`url`, {
method: "GET",
credentials: "include"
}).then(response => response.text())
.then(respHTML => {
respHTML = respHTML.split('<body>')[1].split('</body>')[0]
let htmlObject = document.createElement('div');
htmlObject.innerHTML = respHTML;
let key = htmlObject.children[1].getElementsByClassName('form')[0].children[0].value;
let id = htmlObject.children[1].getElementsByClassName('form')[0].children[1].value
return {"key": key, "id": id}
})
},
makeRequest: (key, id, comment ) =>{
fetch(`url2`,{
method: "POST",
headers: {"Content-Type": "application/x-www-form-urlencoded"},
body: new URLSearchParams(`key=${key}&id=${id}&comment=tester`),
credentials: "include"
}).then(HtmlResult => {
let tmpHtml = HtmlResult.text()
console.log('html result ->> ', tmpHtml); // тут Promise {<pending>} ; [[PromiseStatus]] :"resolved
// [[PromiseValue]]: тут ответ сервера
return tmpHtml;
})
},
myAsyncFn: async (comment) => {
let data = await apiManager.getDataToRequest();
let html = await apiManager.makeRequest(data['key'], data['id'], comment)
console.log(' -- from async html await func console->>> ', html ); // тут переменная html == undefined
return "done"
}
Возможно это из за того что makeRequest "емулирует" отправку формы с получениям обратно html страницы ?