Synchronously Wait for Message in Web-Worker

前端 未结 3 1485
温柔的废话
温柔的废话 2021-02-13 05:50

Is there some way to synchronously wait for or check for a new message in a web-worker?

I have a large complicated body of code (compiled LLVM from emscripten) that I c

3条回答
  •  梦谈多话
    2021-02-13 06:11

    Can you break the sequence as follow without refactoring?

    wrk.onmessage = function(e) {
        if (e.data.step === 'initial input') {
            doInitialWork(e.data.inputs)
        } else if (e.data.step === 'ui input') {
            doTheRest(e.data.uiData)
        }
    }
    

    The onmessage event will be blocked until the initial step execution stack is complete and the critical ui bits will only launch when and if the info is available.

提交回复
热议问题