2017-01-04 4 views
0

Когда пользователь нажимает кнопку (#lfdsubmit), он вызывает функцию (LFD_SearchContainer()), которая должна вернуть обещание. Но ошибки возникают при«Обетование было создано в обработчике, но не было возвращено»

LFD_SearchContainer('EISU1870725') 
.then(container => { 
    ST2.db2(container); 
}) 

Что не так? код: (не полностью доверять закомментированные части, чтобы направлять вас через этот код - я забыл обновить некоторые из них)

функция LFDTrack() {

function LFD_SearchContainer (requestedContainer) { 
    return new Promise((resolve, reject) => { 
     let lfd_scanparams = { TableName: 'lfd_table1' } 
     db.scan(lfd_scanparams, (err, containers) => { 
      if (err) { 
       reject(err); 
      } else { 
       containers = containers.Items; 

       let requestedContainers = []; // different variable than arg 

       let containerObject; // this will be the resolved object 

       // this will return the object of the searched container 
       let findIt = _.forEach(containers, container => { 
        if (container.container === requestedContainer) { 
         containerObject = container; 
        } 
       }); 
       containerObject = findIt[0]; 
       //console.log(findIt[0]); 
       resolve(containerObject.container); 
      } 
     }); 
    }); 
} 

$(function() { 
    $("#lfdsubmit").click(function (e) { 
     e.preventDefault(); 

     let lsd_modaltitle = $("#lfdmodaltitle"); 
     let lsd_modalcontent = $("#lfdmodalcontent"); 

     LFD_SearchContainer('EISU1870725') 
     .then(container => { 
      ST2.db2(container); // will send the object 
     }) 
     .catch(error => { 
      console.log(error); 
     }); 
    }); 
}); 

}

ответ

1

Если ST2.db2(container); возвращает обещание, вам необходимо изменить эту строку в

return ST2.db2(container); 

Если это не так, вы можете положить return null; позади него, как это:

ST2.db2(container); 
return null; 

Поскольку вы не обеспечивают определение ST2, я не могу знать, возвращает ли или нет метод db2 обещание. :)

Ошибка объясняется автором bluebird here.

+0

Возврат «null» исправил проблему. Thx – Chris

+0

@ Крис: примите мой ответ, чтобы этот вопрос был решен :) – leroydev

 Смежные вопросы

  • Нет связанных вопросов^_^