A function whose declared type is neither 'void' nor 'any' must return a value.
У меня есть функция createOrder, которая должна вернуть обещание. У меня есть вызовы базы данных в функции, и я хотел бы решить обещание функции createOrder, когда все действия базы данных закончены. Проблема заключается в том, что машинопись компилятор не позвольте мне вернуться обещание внутри функции базы данных возвращается обещание, потому что считает, что объявление функции (возвращает Promise) не fullfilled:Как вернуть разные обещания от функции?
createOrder(order:Array<Cartitem>, sum:number):Promise<Array<Cartitem>> {
this.db.put(newOrder)
.then((r)=>{
//other operations
return new Promise<Array<Cartitem>>((resolve) => {
resolve(order);
});
})
.catch(function (err) {
console.log('put order:', err);
// return new Promise<Array<Cartitem>>((reject) => {
// reject(order);
// });
});
}
Я могу вернуть обещание в конце функции, но это не хорошо для чего-либо, конечно, кроме компилятора. Должен ли я использовать простой обратный вызов здесь?
Спасибо за всех, это было быстро! – Perrier