Angular2可观察&后访问响应

时间:2017-02-23 05:16:48

标签: angular observable angular2-services

我对Observables有点新,我已成功发送POST api请求并收到正确的JSON响应:

public function handle()
{
        $mail_meta_data = $this->send_data;
        $require_data = $this->require_data;
        Mail::queue($mail_meta_data['view_name'], ['data'=>$require_data], function($message) use ($mail_meta_data, $require_data) {
            //$message->from($mail_meta_data['to'], $mail_meta_data['name']);

            $message->to($mail_meta_data['to'])->subject($mail_meta_data['subject']);
        });
 }

但我不确定如何访问此响应并使用它执行某些操作。这是我的邮政服务:

dispatch(new SendEmailNotification($mail_meta_data, $require_data));

这是我的Observable:

 MAIL_DRIVER=smtp
 MAIL_HOST=smtp.sendgrid.net
 MAIL_PORT=587
 MAIL_USERNAME=smtp_username
 MAIL_PASSWORD=smptp_password
 MAIL_ENCRYPTION=tls

 APP_EMAIL=email sent from
 APP_NAME=Name of Email sender

任何帮助表示赞赏

2 个答案:

答案 0 :(得分:1)

您必须从地图可观察状态返回响应,而且您将能够进入subscribe列表器。像这样

 // sends a media(file blob) object to WP API
  updateMedia(file: File): Observable<File> {
      ............

    return this.http.post(BASE_API, file, options)
    .map((response: Response) => return {res : response.json(), status : response.status});
  }


   onUpdateMedia(file: any) {
    this.mediaService
      .updateMedia(file)
      .subscribe((file: any) => {
        console.log(file, "Response from Post Request Here....")
      });
  }

答案 1 :(得分:1)

您的回复属于对象类型。在对象类型的变量中分配响应。

 my_res:any;
  onUpdateMedia(file: File) {
    this.mediaService
      .updateMedia(file)
      .subscribe((
        data: any) => {
        this.my_res=data
      });

  }