第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Mono#then 和 Mono#and 的區(qū)別?

Mono#then 和 Mono#and 的區(qū)別?

森林海 2022-11-30 16:40:54
給定以下單聲道:Mono<Void> mono1 = Mono.fromRunnable(() -> {    System.out.println("sleep1");    try {        Thread.sleep(1000);    } catch (InterruptedException e) {        throw new IllegalStateException(e);    }    System.out.println("mono1");});Mono<Void> mono2 = Mono.fromRunnable(() -> {    System.out.println("mono2");});Mono<Void> mono3 = Mono.fromRunnable(() -> {    System.out.println("mono3");});兩個都:mono1        .then(mono2)        .then(mono3)        .block();和:mono1        .and(mono2)        .and(mono3)        .block();具有相同的輸出:sleepmono1mono2mono3在這種情況下Mono#then和之間有什么區(qū)別?Mono#and來自https://projectreactor.io/docs/core/release/reference/index.html#which-operator:[如果你]有一個序列但[你]對值不感興趣并且[你]想在最后切換到另一個 Mono,[使用] Mono#then(mono)。[如果你]想通過協(xié)調他們從 1 Mono 和任何源到 Mono 的終止來合并發(fā)布者,[使用] Mono#and。#and不幸的是,這并不能幫助我找到一個#then行為不同的案例。
查看完整描述

1 回答

?
嚕嚕噠

TA貢獻1784條經(jīng)驗 獲得超7個贊

Mono#and只是“將來自當前單聲道和另一個源的終止信號加入到返回的無效單聲道中”。它總是返回Mono<Void>并且只允許你協(xié)調兩個Monos 的終止。

Mono#then允許您將兩個Monos 鏈接在一起,最終結果將由Mono作為參數(shù)傳遞的值確定。從這個意義上說,Mono#then是一個更原始的版本Mono#flatMap,唯一的區(qū)別是您可以在鏈中Mono#flatMap訪問前Mono一個的結果,您可以將其轉換為另一個Mono實例。

除此之外, withMono#then操作將按順序執(zhí)行,而 withMono#and不能保證順序(至少從文檔中是這樣)。


查看完整回答
反對 回復 2022-11-30
  • 1 回答
  • 0 關注
  • 395 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號