Solidity
Solidity 函式 // for 循環
我在 for 循環中呼叫 js 中的 set 函式,但它在第二個或第三個循環後停止/崩潰。我想執行它大約 5000 次,而不會失去隊列。是否可以?我該如何實施?我相信該功能應該以某種方式 w8 用於確認前一筆交易以繼續進行下一筆交易。(?)提前致謝!
如果您使用 for 循環或通常使用 web3 api,我顯然不明白這個問題。但是我想您希望循環等待直到事務完成,然後再進行新的迭代。你不應該使用 for 循環,因為它會掛起瀏覽器。Remix ide 給循環帶來了非常糟糕的體驗 而不是在 js 中使用
function loop(i,cond,update,body){ if(cond(i)) { body(i) //do anything with I setTimeout(arguments.callee,0,update(i),cond,update,body) }}
其中 i 是要迭代的第一個數字, cond 是條件函式,例如 i=>i<5000, body 是應該在 for 循環體內的函式,例如 i=>console.log(i)
前任:-
for(let i=-4;i<5000;i+=2){console.log(i+5)
我們在這個函式中這樣做
loop(-4,i=>i<5000,i=>i+2,i=>console.log(i+5))
如果在此之後您的瀏覽器掛起,則表示您正在同步執行繁重的工作,請嘗試將其更改為非同步