如何让弹出代码在移动到下一行之前等待后台代码完成?

How can I make the popup code wait for the background code to finish before moving to the next line?

popup.js:

chrome.runtime.getBackgroundPage((bg) => {    
     bg.createTabObj();                 
     Volume.init();                                             
     });

background.js:

createTabObj() {
    chrome.tabCapture.capture({
            audio: true,
            video: false
        },
        (stream) => {                                                     
            //do something                                         
        })

实际上,在后台方法完成其过程之前,弹出窗口继续到下第二行。 确保后台在弹出继续 Volume.init() 之前完成处理 createTabObj 方法的最简单方法是什么? 如果可能的话,我更喜欢从弹出窗口而不是后台回调进行所有调用。

chrome.tabCapture.capture的第二部分是回调函数。只需在该回调函数中调用 Volume.init()。

chrome.runtime.getBackgroundPage((bg) => {    
   bg.createTabObj(Volume.init);                                             
});

createTabObj(id, yourcallback) {
    chrome.tabCapture.capture({
            audio: true,
            video: false
        },
        (stream) => {      
            yourcallback();                                               
            //do something                                         
        })

虽然我不确定你的 createTabObj 的 ID 是从哪里传入的,但我希望我能理解总体思路。