Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

Promise com Post

Olá me surgiu a seguinte dúvida. No módulo 2 de Javascript Avançado foi falado bastante sobre usar o GET, utilizar o Promise.all, coisas bem bacanas. Minhas dúvida é referente a fazer um POST com promise. Por exemplo: Tenho um array de objetos, como eu utilizaria o Promise para percorrer esse array sem dar um callbackhell?

7 respostas

Mas o POST não recebe dados, só envia.

Talvez não tenha entendido sua pergunta.

Acho que eu não soube me expressar. Com base no exemplo do curso, post(url, dado), esse parametros "dado", é um array de objetos. Como eu utilizaria Promise para fazer um request para o servidor, pois no caso teria que ser posição a posição do array certo?

Você quer capturar um possível retorno do post? É isso? Ou você quer fazer um post usando promise, tipo, quer que eu escreva o código do post com Promise?

Talvez seja interessante você tentar escrever o código que deseja para eu entender via código.

let dados = [{ nome: 'Emerson', sexo: 'M' },{ nome: 'Edson', sexo: 'M' }]

/// Aqui seria a classe criada no curso.

post(url, dados ) {

return new Promise((resolve, reject) => {

let xhr = new XMLHttpRequest(); xhr.open("POST", url, true); xhr.setRequestHeader("Content-type", "application/json"); xhr.onreadystatechange = () => {

if (xhr.readyState == 4) {

if (xhr.status == 200) {

resolve(JSON.parse(xhr.responseText)); } else {

reject(xhr.responseText); } } }; xhr.send(JSON.stringify(dado)); // usando JSON.stringifly para converter objeto em uma string no formato JSON. });

}

Seria mais ou menos isso, já que os dados enviados é um array de objetos, ou seja, cada posição é uma linha de uma tabela, e eu preciso enviar esses dados para o servidor.

solução!

Flavio consegui aqui. Eu não estava entendo o conceito, mas fui analisando, revendo os códigos do curso, com base no que era feito o get, e com isso entendi o que poderia fazer no post. Obrigado pela atenção.