angular - Undefined in place of stream observable while working with ng effects -


so im doing flow i'd add new object other's object collection. first have let's domain related stuff.

i'm sending object backend when i'd recieve callback send antoher action store upon effect should take action.

in action should yet again call backend controller new payload, flow should end. problem occurs on calling backend. im recieving following error there:

        update project effect     project.effects.ts:52 {projectid: "5980ea8390dfb5285402e18b", userid: "admin@wp.pl", drawings: array(2), projectname: "test pro"}     project.service.ts:37   z update project service     project.service.ts:38 {projectid: "5980ea8390dfb5285402e18b", userid: "admin@wp.pl", drawings: array(2), projectname: "test pro"}drawings: (2) [{…}, drawing]projectid: "5980ea8390dfb5285402e18b"projectname: "test pro"userid: "admin@wp.pl"__proto__: object     core.es5.js:1084   error typeerror: provided 'undefined' stream expected. can provide observable, promise, array, or iterable.         @ object.subscribetoresult (subscribetoresult.js:73)         @  

im using similiar flow in other part of app (eg. login) , works ok. below code:

@effect() addnewdrawing = this.actions     .oftype(projectactions.add_new_drawing)     .map(topayload)     .withlatestfrom(this.store.select(getproject))     .switchmap(([payload, project] : [adddrawingcommand, project]) =>       this.uploadservice.upload(payload.file)         .mergemap((result:any) : => {           project.drawings.push(new drawing(payload.drawingname, result.drawingurl, 0));           console.log(payload)           console.log('------------------')           console.log(result)           console.log(project)           console.log('------------------')           return this.store.dispatch(new updateproject(project));         }));    @effect() updateproject = this.actions     .oftype(projectactions.update_project)     .map(topayload)     .switchmap(payload => {         console.log('from update project effect');         console.log(payload);        return this.projectservice.updateproject(payload)       }     ); 

everything seems blow when calling projectservice:

 updateproject(project: project): observable<any> {     console.log('z update project service')     console.log(project)     return this.http.put(`${this.projecturl}/${project.projectid}`, project)       .map(response => response.json());   } 

but same other service work alright.

inside mergemap you're returning value this.store.dispatch call doesn't return observable.

for more info: https://github.com/ngrx/store/blob/master/src/store.ts#l35


Comments

Popular posts from this blog

PHP and MySQL WP -

android - InAppBilling registering BroadcastReceiver in AndroidManifest -

go - golang pprof for c library code -