简体   繁体   English

需要从本地存储角度读取购物车产品4

[英]Need to read cart products from local storage angular 4

Need to fetch data from local storage in angular 4 . 需要以角度4从本地存储中获取数据。 I have tried to implement this using following in file data.service.ts 我试图在文件data.service.ts中使用以下代码来实现

  JSON.parse(localStorage.getItem('customerData')).then((val) => { if (val != null || val != undefined) this.customerData = val; }); 

But the following error was displayed in console 但是控制台中显示以下错误

 ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'then' of null TypeError: Cannot read property 'then' of null at new DataService (data.service.ts:110) at _createClass (core.js:10889) at _createProviderInstance$1 (core.js:10861) at resolveNgModuleDep (core.js:10846) at NgModuleRef_.get (core.js:12083) at resolveDep (core.js:12573) at createClass (core.js:12443) at createDirectiveInstance (core.js:12280) at createViewNodes (core.js:13738) at createRootView (core.js:13627) at new DataService (data.service.ts:110) at _createClass (core.js:10889) at _createProviderInstance$1 (core.js:10861) at resolveNgModuleDep (core.js:10846) at NgModuleRef_.get (core.js:12083) at resolveDep (core.js:12573) at createClass (core.js:12443) at createDirectiveInstance (core.js:12280) at createViewNodes (core.js:13738) at createRootView (core.js:13627) at resolvePromise (zone.js:809) at resolvePromise (zone.js:775) at eval (zone.js:858) at ZoneDelegate.invokeTask (zone.js:421) at Object.onInvokeTask (core.js:4736) at ZoneDelegate.invokeTask (zone.js:420) at Zone.runTask (zone.js:188) at drainMicroTaskQueue (zone.js:595) at ZoneTask.invokeTask (zone.js:500) at ZoneTask.invoke (zone.js:485) defaultErrorLogger @ core.js:1448 

您可以直接从localStorage分配值,

 this.customerData = JSON.parse(localStorage.getItem('customerData'));

JSON.parse() doesn't return a promise but an object. JSON.parse()不会返回Promise,而是一个对象。 So, you can skip the then() and directly assign it to a variable. 因此,您可以跳过then()并将其直接分配给变量。

var val = JSON.parse(localStorage.getItem('customerData'))
if (val != null || val != undefined) {
    this.customerData = val;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM