我使用ng build --prod构建角度。
输出到金字塔后端的静态文件夹中
在登录表单上,单击一个按钮,然后angular使http发布到金字塔后端。金字塔后端接收用户名和密码。生成jwt令牌并发送响应。
Angular不等待响应。
Angular使使用subscription和map()的http帖子可见。
创建jwt需要3秒钟左右。如果我不选择不制作jwt并从后端快速返回json,则angular会立即将其捕获。
如果金字塔后端的响应速度不够快,则订阅的用户将无法捕获数据或错误。似乎没有在订阅的回调函数中执行任何操作,因为好像立即取消了订阅一样。
如果金字塔由于任何问题而没有响应,则立即从订阅回调中捕获到错误,并在开发人员控制台日志中显示。
试图:我试图切换到异步,同样的问题。我通过outpush hash修复了固定的角度不处理路由。
这是代码的样子。
login.component.ts
login_button_pressed(username, password){ console.log('Seen in console .log'); this.auth.login(username, password) .pipe(first()) .subscribe( data => { //do something with data }, error => { //print error }); console.log(login function ended); } //pseudo code style.
auth.ts
login(username: string, password: string): Observable<user> { console.log('This is printed in developer console log'); return this.http.post<any>('/route', {username, password}) .pipe(map( returned_data => { console.log('this is never executed even though i see backend); console.log('processing the two passed strings') //do something with returned data return returned_data }); }
在金字塔后端,我发送接收到的字符串并打印到后端的控制台,然后再发送响应。
我谈论的打印命令是出于调试目的
我使用ng build --prod构建角度。输出到登录表单上金字塔后端的静态文件夹中,单击一个按钮,然后angular使http发布到金字塔后端。金字塔后端...
您可以看一下mdn asynchronous call。这是以下片段