2017-08-24 901 views
0

我有上面的錯誤,但是我找不到任何錯誤的代碼。Promise:類型void的參數不能分配給類型T

write(data: T): Promise<T> { 
    return new Promise((resolve, reject) => { 
     this.open() 
     .then((db) => { 
      return db.collection(this.table); 
     }) 
     .then((table) => { 
      table.insertOne(data) 
     }) 
     .then((result) => { 
      console.log(result); 
      resolve(result); 
     }) 
     .catch((err) => { 
      reject(err); 
     }) 
    }) 
} 

我試圖把作爲

write(data: T): Promise<any> 

和它的工作就像一個魅力。但是奇怪,我做錯了什麼?有人可以請我指出正確的代碼嗎?

謝謝

回答

0

它看起來像你的諾言鏈可能斷裂的位置:

.then((table) => { 
    table.insertOne(data) 
}) 

如果你還沒有在這裏返回一個值,result是不會在旁邊有一個值then。我希望TypeScript只是警告你這個潛在的錯誤。

+1

啊..我明白了..謝謝。返回insertOne結果並處理結果解決了它。 – Magician

相關問題