2017-04-14 57 views
0

我知道這可能不是100%正確的方法,因此建議進行清理也很受歡迎。如何返回來自ionic2/3存儲的列表/值

剛剛學習/習慣了Ionic2,我無法返回存儲項目。

服務:

import { Injectable } from "@angular/core"; 
import { Storage } from '@ionic/storage'; 

@Injectable() 
export class LocationItemService { 
    locationItems: LocationItem[] = []; 

    constructor(
    private storage: Storage 
) {} 

    getListItems(id): Promise<LocationItem[]> { 
    this.storage.get("Location_Items_" + id).then((val) => { 
     // This does console out the proper value. 
     console.log(val); 
     // Thus Promise contains the proper value. 
     return Promise.resolve(val); 
    }); 
    } 
} 

然而,當我在開發運行我的申請,我得到這個錯誤: 「的函數聲明類型既不是‘無效’,也沒有‘任意’必須返回值「。

即使我設置this.locationItems,我仍然需要返回承諾,以便下一個函數不會運行,直到Promise被解析。

我覺得它必須處理storage.get內部的範圍,而不是直接在函數本身內部,並嘗試了幾個解決方法無濟於事。感謝您提供任何意見!

回答

0

Oi,我沒有在this.storage之前使用return。因爲它已經被定義爲一個承諾。因此,我的回報聲明基本陷於僵局。