A function whose declared type is neither 'void' nor 'any' must return a value.
我有一個createOrder函數,它應該返回一個promise。我在函數中調用了數據庫,當所有數據庫操作完成時,我想解決createOrder函數的承諾。問題是,打字稿編譯器不要讓我從數據庫裏面的函數返回承諾返回,因爲認爲該函數聲明(返回一個承諾)不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