Skip to main content

Não estou conseguindo utilizar métodos com string no bot builder.


Veja o código:



function run(response) {

response = JSON.parse(response)



let personagens = response.results.filter(function(x) {

let name = x.name.toLowerCase()

let person = '{{person}}'.toLowerCase()

return name.includes(person) //Linha do erro

})



if (personagens.length == 0) return 'notfound'



return personagens

}



A variavel name é do tipo string, mas quando dou um typeof(name) ele diz que é um Object. Assim ocasionando um erro ao tentar utilizar o includes() em um Object.



Testando no babel ou no interpretador do navegador Chrome ele funciona normalmente.

@Gabriel_Santos, a action de script do Builder suporta Ecmascript 5.1 (se não me engano).


Tente reescrever seu código usando apenas os recursos desta versão que acredito que deverá funcionar.




Perfeito @andreminelli!



@Gabriel_Santos, todo o seu código precisa seguir a especificação Ecmascript 5.1 (conforme link abaixo)



http://www.ecma-international.org/ecma-262/5.1/



Lembre-se que algumas funções funcionam apenas em browsers e portanto não serão suportadas na ação de script.


Comente