SignalR connection.on & connection.invoke

SignalR connection.on & connection.invoke

我有以下代码

var connection = new signalR
        .HubConnectionBuilder()
        .withUrl("/bidHub")
        .build();

    connection.start().then(res => {
        connection.invoke("JoinGroup", auctionId)
            .catch(err => console.log(err));
    }).catch (function (err) {
        return console.error(err.toString());
    });

ajax call here

connection.on("RefreshBids", function (currentBid, lastBidder) {
        document.getElementById("currentPrice").textContent = `$${currentBid}`;
        document.getElementById("lastBidder").textContent = `${lastBidder}`;
    });

    connection.invoke("RefreshBids", JSON.stringify(currentBid), JSON.stringify(lastBidder)).catch(function (err) {
        return console.error(err.toString());
    });
    event.preventDefault();

该代码同时适用于 'connection.on' 和 'connection.on' + 'connection.invoke',但是当它们都适用时,'connection.invoke' 会给出找不到 'currentBid' 和 'lastBidder',它仍然有效。它似乎适用于 'connection.on',但我是否也应该使用 'connection.invoke'

用法取决于您是否使用生成的代理。通常您会使用其中之一,但不会同时使用两者。有关详细信息,请参阅 generated proxy doc and calling server methods 文档。