-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pegar orderForm antes de todos os métodos caso ainda não tenha o orderForm ID #19
Comments
Se alguem se sentir a vontade de contribuir com isso, posso ajudar dando as direções. |
@BrenoC seria deixar em cache todos os dados do orderForm para que as próximas chamadas do getOrderForm não gerassem uma nova requisição? Se for isso, isso não pode ser um problema quando for uma situação em que realmente precise dos dados novos? |
Os métodos do vtex.js que alteram o carrinho precisam do ID do orderForm. Por isso que pedimos que se faça uma chamada ao Mas isso está confuso na documentação, parece que isso é pra ser feito sempre, o que não é verdade. Precisamos apenas de uma única chamada ao Com isso, podemos matar também esse cache do |
@BrenoC ok, acho que entendi. var itemIndex = 0; var attachmentName = 'personalizacao'; var content = { "numero": "10" };
vtexjs.checkout.getOrderForm().then(function(){ return vtexjs.checkout.addItemAttachment(itemIndex, attachmentName, content); }).done(function(orderForm){ // Anexo incluído ao item! console.log(orderForm); }); Tenha o mesmo custo computacional que esse (ou seja, não fazer uma request do orderForm): var itemIndex = 0; var attachmentName = 'personalizacao'; var content = { "numero": "10" };
vtexjs.checkout.addItemAttachment(itemIndex, attachmentName, content); |
@caljp13 exato! O vtex.js vai cuidar internamente de pegar o orderFormId caso ele ainda nao tenha. O código ficara algo assim: function addItemAttachment(itemIndex, attachmentName, content) {
var promise = Promise.resolve();
// se nao tenho o orderFormId ainda, pego ele agora
if (!this.orderFormId) {
promise = this.getOrderForm();
}
return promise.then(function() {
// aqui ja temos o orderFormId
// aqui ficaria o codigo que temos hoje dentro da função addItemAttachment
});
} |
@BrenoC faz com CoffeeScript ? |
@caljp13 por enquanto sim 👍 |
Adicionar a todos os métodos do vtex.js uma verificação se o orderFormId já existe no contexto, se sim, o método é chamado normalmente. Caso não tenha, o vtex.js deve fazer um getOrderForm e quando completo, chamar o método chamado originalmente.
Isso pretende facilitar o uso para que o getOrderForm não seja chamado sem necessidade.
The text was updated successfully, but these errors were encountered: