我正在使用 Gametime.js 進行實時世界聊天。
訊息存盤在資料庫中。
Gametime.js 使用 PubNub,出于某種原因,PubNub 需要將訊息發送兩次,所以它確實做到了。
如何使函式運行兩次?
我試過這個:
for (let i = 0; i < 2; i ) { gametime.run("msg", [msg]) }
它有效,只是我經常在我的腳本中這樣做,所以有沒有辦法在沒有 for/while 回圈的情況下做到這一點?
這是我想要實作的示例:
// inline code, cannot run for loop right here
function example(msg) { doSomething(), doSomethingElse, {{run twice}}, done() }
uj5u.com熱心網友回復:
您可以創建另一個函式,它將運行您的函式兩次,如下所示:
function twice (callback) {
callback();
callback();
}
twice(() => console.log('hello'));
但是,如果您遇到必須呼叫函式兩次才能獲得所需結果的情況,那么聽起來某處還有另一個問題(在您未顯示的某些代碼中)。
uj5u.com熱心網友回復:
嘗試覆寫 run 方法,聽起來兩次呼叫該方法是一個錯誤,如果它得到修復,這將很容易退出。
gametime.oldRun = gametime.run;
gametime.run = (...params) => {
this.oldRun(...params);
this.oldRun(...params);
};
如果內部方法呼叫 run 可能會導致問題,因此您可以創建 run2
gametime.run2 = (...params) => {
this.run(...params);
this.run(...params);
};
通過查找和替換仍然很容易退出。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/511151.html
下一篇:如何在do-while中回圈條件
