Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用一个函数调用observable,将3个不同的observable绑定在一起,并使用switch map。导致错误

使用一个函数调用observable,将3个不同的observable绑定在一起,并使用switch map。导致错误
EN

Stack Overflow用户
提问于 2020-10-29 04:29:04
回答 1查看 38关注 0票数 1

我有一个函数,当一个文件被上传到html表单时运行。

代码语言:javascript
运行
AI代码解释
复制
uploadidnexttofacepicture(event){
    let subscription = this.s3service.publicresourceuploadtos3(event)
      .subscribe((req: any)=>{
        console.log(req);
      });
    
  }

此函数从注入的服务调用函数publicresourceuploadtos3。此函数如下所示:

代码语言:javascript
运行
AI代码解释
复制
publicresourceuploadtos3(event): Observable<any>{
    console.log('the service at least ran');

    const mediatobeuploaded = event.target.files[0];
    this.http.get(environment.public_generate_presigned_url_resource).pipe(
      switchMap((req : any)=>{
        console.log('did the call to the server');

        const resourceurl = req.uriroot + req.fields.key;

        let fd = new FormData();
        fd.append('acl', req.fields.acl);
        fd.append('key', req.fields.key);
        fd.append('content-type', req.fields['content-type']);
        fd.append('policy', req.fields.policy);
        fd.append('x-amz-algorithm', req.fields['x-amz-algorithm']);
        fd.append('x-amz-credential', req.fields['x-amz-credential']);
        fd.append('x-amz-date', req.fields['x-amz-date']);
        fd.append('x-amz-signature', req.fields['x-amz-signature']);
        fd.append('file', mediatobeuploaded);
        this.http.post(req.url, fd).pipe(
          switchMap((req2: any)=>{
            const result = {
              resourceurl : resourceurl,
              resourcekey: req.fields.key
            };
            return of(result);


        }));


      }));


  }

控制台日志console.log('the service at least ran');确实在控制台中触发,但是服务器调用了一个:console.log('did the call to the server');没有。

但这会导致一个错误:

代码语言:javascript
运行
AI代码解释
复制
ERROR TypeError: Cannot read property 'subscribe' of undefined
    at ContentcreatorverificationComponent.uploadidnexttofacepicture

我担心这是一个语法问题,如果你们中的任何人知道发生了什么,将是有帮助的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-29 04:40:24

尝试在this.http.get(environment.public_generate_presigned_url_resource)之前添加return

应该是这样的

代码语言:javascript
运行
AI代码解释
复制
 publicresourceuploadtos3(event): Observable<any>{
    console.log('the service at least ran');

    const mediatobeuploaded = event.target.files[0];
   return this.http.get(environment.public_generate_presigned_url_resource).pipe(
      switchMap((req : any)=>{
        console.log('did the call to the server');

        const resourceurl = req.uriroot + req.fields.key;

        let fd = new FormData();
        fd.append('acl', req.fields.acl);
        fd.append('key', req.fields.key);
        fd.append('content-type', req.fields['content-type']);
        fd.append('policy', req.fields.policy);
        fd.append('x-amz-algorithm', req.fields['x-amz-algorithm']);
        fd.append('x-amz-credential', req.fields['x-amz-credential']);
        fd.append('x-amz-date', req.fields['x-amz-date']);
        fd.append('x-amz-signature', req.fields['x-amz-signature']);
        fd.append('file', mediatobeuploaded);
        this.http.post(req.url, fd).pipe(
          switchMap((req2: any)=>{
            const result = {
              resourceurl : resourceurl,
              resourcekey: req.fields.key
            };
            return of(result);


        }));


      }));


  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64585005

复制
相关文章
API和Web Api
API(应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
岳泽以
2022/10/26
2.5K0
web 通信--跨文档、worker、通道
跨文档通信(cross-document messaging)、worker通信(cross-worker messaging)、通道通信(channel messaging)
奋飛
2022/01/24
8240
web 通信--跨文档、worker、通道
Contact Manager Web API 示例[2] Web API Routing
联系人管理器web API是一个Asp.net web api示例程序,演示了通过ASP.NET Web API 公开联系信息,并允许您添加和删除联系人,示例地址http://code.msdn.microsoft.com/Contact-Manager-Web-API-0e8e373d。 Contact Manager Web API 示例[1]CRUD 操作 已经做了一个基本的介绍,本文主要介绍Web API Routing。 如果你已经熟悉 ASP.NET MVC,你会发现 Web API Routi
张善友
2018/01/22
1K0
Contact Manager Web API 示例[2] Web API Routing
联系人管理器web API是一个Asp.net web api示例程序,演示了通过ASP.NET Web API 公开联系信息,并允许您添加和删除联系人,示例地址http://code.msdn.microsoft.com/Contact-Manager-Web-API-0e8e373d。 Contact Manager Web API 示例[1]CRUD 操作 已经做了一个基本的介绍,本文主要介绍Web API Routing。 如果你已经熟悉 ASP.NET MVC,你会发现 Web API Routi
张善友
2018/01/22
1K0
团队使用 Slack 技巧
对于一个开源人来说,Slack 是绕不过的一款即时通讯工具。当一些 Issue 需要更详细的描述,或者有实时交流需求时,很多开源项目的维护者和用户往往都会使用 Slack 来进行沟通的,所以笔者对 Slack 还是十分熟悉的。但当身处一个全员 remote 团队,技术、业务和其他团队都要求使用 Slack 进行沟通和交流时,自认 Slack 老炮的笔者,却发现很多之前完全不了解的关于团队使用 Slack 的技巧。
郭旭东
2021/07/16
1.5K0
WCF Web Api
什么是WCF Web Api ? 越来越多的互联网应用向外开放他们的功能,例如Flickr,Twitter和Facebook,国内也掀起了开放的浪潮。处理这些社会化的应用外,企业的组织也在暴露企业的应用功能。WCF Web API允许开发人员通过HTTP开放他们的应用程序、数据和服务。这允许开发人员可以充分利用HTTP作为应用程序的协议,应用程序可以和丰富的客户端进行交互,不仅仅是浏览器、移动设备、桌面应用还是其他的后端服务。他们还可以利用网络的高速缓存和代理的基础设施,通过提供适当的控制和实体头的方式,在
张善友
2018/01/29
8350
WCF Web Api
如何用 Python 打造一个聊天机器人?
不知道玩Slack的人多不多?国内有一个类似的产品,之前搞PythonTG翻译组在用,但是没怎么用起来。感觉这些产品提供的灵活性还蛮大的,可以自己实现许多有意思的机器人。
IT阅读排行榜
2018/08/16
1.9K0
如何用 Python 打造一个聊天机器人?
Web API 和 API 的区别
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,无需理解其内部工作机制细节,只需直接调用使用即可。
梨涡浅笑
2020/10/27
3.3K0
使用 ASP.NET Web API 构建超媒体 Web API
超媒体(通常称为应用程序状态的引擎 (HATEOAS))是具象状态传输 (REST) 的主要限制之一。有一种观念认为超媒体项目(如链接或表单)可用于说明客户端如何与一组 HTTP 服务交互。这迅速成为一个有趣的概念,在开发可演变的 API 设计时会用到它。这与我们通常与 Web 交互的方式没有任何不同。我们通常记住网站主页的一个入口点或 URL,然后使用链接浏览网站的各个不同区域。我们还使用表单,它附带预定义的操作或 URL 以提交网站执行某些操作所需的数据。 开发人员倾向在服务中提供所有支持的方法的静态描
张善友
2018/01/22
2.9K0
使用 ASP.NET Web API 构建超媒体 Web API
「Web编程API」- 02
请注意,本文编写于 2094 天前,最后修改于 174 天前,其中某些信息可能已经过时。
曼亚灿
2023/05/17
5010
「Web编程API」- 02
「Web编程API」- 01
请注意,本文编写于 2096 天前,最后修改于 174 天前,其中某些信息可能已经过时。
曼亚灿
2023/05/17
6880
「Web编程API」- 01
Web Crypto API简介
早年在web端做对称/非对称的加解密还是个很复杂的操作,由于没有js层面的基础库。很多基础设施只能从头开始。
王沛文
2018/07/31
6.2K0
Web 项目刚要打包,却找不到项目资源?
  编程无小事,不管是语言层面还是工具层面,都要熟悉,方能在编程中过程中众享丝滑,不然就随处卡顿,耗费时间不说,还没有任何成就感。撸码过程中用 Idea 也很多年了,工具或环境遇到问题,问下度娘就完事了,也懒得总结记录个啥。但人都犯贱而且健忘,事有再犯,总问度娘也是问题,还是花小点时间记录一下,给自己备忘,也分享给同样问题的人,阿弥陀佛,善哉善哉。
用户1615728
2020/03/02
9840
Web API的CORS
 上面代码代表允许所有跨域请求。当然也可以只允许某个站点进行跨域请求,只需将‘*’改为指定站定即可
莫问今朝
2019/02/25
7000
「Web编程API」- 04
请注意,本文编写于 2088 天前,最后修改于 174 天前,其中某些信息可能已经过时。
曼亚灿
2023/05/17
9100
「Web编程API」- 04
Web API 设计摘要
近期读了一本微电子书 Brian Mulloy 所著《Web API Design》感觉颇多收获,特对其内容做了个整理摘要以便回想其观点精华以指导日常工作中的设计思路。
全栈程序员站长
2022/07/13
4050
Web API 设计摘要
「Web编程API」- 03
请注意,本文编写于 2091 天前,最后修改于 174 天前,其中某些信息可能已经过时。
曼亚灿
2023/05/17
1.4K0
「Web编程API」- 03
常用的web方法 web API(二)
在上一篇《常用的web方法 web API(一)》中我们学习了:绑定事件的几种方式、解绑事件的几种方式、创建元素的几种方式、获取节点的几种方式本篇我们将继续学习:轮播图的js方法、offset系列相关属性、scroll系列属性、client系列以及获取元素计算后的样式属性值。好了,接下来我们接着学习:
凯哥Java
2019/06/28
1.1K0
常用的web方法 web API(二)
常用的web方法 web API(一)
   例子:  my$("btn").onclick=function(){};
凯哥Java
2019/06/28
8140
常用的web方法 web API(一)
import win32api 找不到指定程序_win32api python
使用环境是win7+Python3.4,32位,下载地址:https://sourceforge.net/projects/pywin32/files/pywin32/Build%20220/
全栈程序员站长
2022/11/07
2.8K0
import win32api 找不到指定程序_win32api python

相似问题

根据列的阈值删除行

25

根据阈值删除行

12

熊猫:根据阈值标准删除列

14

根据列中的值和阈值保持值删除行

22

按组阈值选择或删除行

33
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档