我有以下代码:
package main
import (
"fmt"
"time"
)
func getSecondOfDay(t time.Time) int {
return 60*60*t.Hour() + 60*t.Minute() + t.Second()
}
func main() {
t := time.Now()
fmt.Println(getSecondOfDay(t))
}
这里的问题是,我的订阅中的dialog.afterClosed()
.pipe(
filter((result) => result),
mergeMap((result) => this.unitService.importPack(result.file))
)
.subscribe((result) => {
console.log(result); // I need the result of both, not only the mergeMap result
this.updateStateAfterUpload(result.file, 'imported');
});
是我的result
运算符返回的observable的结果,但是我实际上需要同时使用两者-我的{{1} }可观察到,并且由mergeMap
运算符返回。
如何在订阅中返回两个可观察值的结果?
答案 0 :(得分:2)
dialog.afterClosed().pipe(
mergeMap(result1 => this.unitService.importPack(result.file).pipe(
map(result2 => ({ result1, result2 }))
))
).subscribe(({ result1, result2 }) => { ... });
映射第二个请求的结果以返回所需的结果。在这里,我返回类型为{ result1: any, result2: any }