Problema con objeto en js
Publicado por Jesus Alonso (6 intervenciones) el 28/08/2021 00:44:33
Buenas, tengo el problema con el siguiente codigo
sucede que intento llamar una variable global a traves de una cadena window["personaje"+contador] para luego insertar sus valores en una base de datos hecha con indexeddb, mi problema es que una vez que intento comprobar si el objeto esta definido me lo marca como indefinido aunque este exista, pero esto solo ocurre cuando intento ejecutar el condicional dentro del condicional del result (result === undefined), si lo hago fuera de este if el objeto aparece declarado, ¿cual es la razón de esto? y ¿como puedo solucionarlo?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
function comprobar(contador){
var active = dataBase.result;
var data = active.transaction(["personajes"], "readwrite");
var object = data.objectStore("personajes");
var request = object.get(contador);
request.onsuccess = function () {
var result = request.result;
if (result === undefined) {
alert(window["personaje"+contador]);
if(window["personaje"+contador]!=undefined){
object.put({
nombre: window["personaje"+contador].name,
imagen: window["personaje"+contador].bild,
nivel: window["personaje"+contador].niveau,
pais: window["personaje"+contador].land,
informacion:window["personaje"+contador].information,
oficio: window["personaje"+contador].job,
aparecio:"0"
});
comprobar(contador+1);
}else{
verNivel();
}
}else{
comprobar(contador+1);
}
};
}
sucede que intento llamar una variable global a traves de una cadena window["personaje"+contador] para luego insertar sus valores en una base de datos hecha con indexeddb, mi problema es que una vez que intento comprobar si el objeto esta definido me lo marca como indefinido aunque este exista, pero esto solo ocurre cuando intento ejecutar el condicional dentro del condicional del result (result === undefined), si lo hago fuera de este if el objeto aparece declarado, ¿cual es la razón de esto? y ¿como puedo solucionarlo?
Valora esta pregunta


0