如何创建一个函数,以便编程行将等到它完成并移动到javascript中的下一行

Eld*_*ley 0 javascript html5

我正在使用Javascript创建HTML5,但有时代码在当前行完成之前执行下一行语句,

例如,我将图像传递给Javascript中的对象,但是在对象具有图像之前已经执行了下一个语句,因此有时对象没有图像,但有时它有,

所以在两行之间我需要分配回调或等待功能,但我不知道如何

var image=new Image();
ws.send("complete");
Run Code Online (Sandbox Code Playgroud)

TJH*_*vel 5

Javascript(大部分)是异步的,这是一件好事.例如,您不想在等待图像时阻止UI.

完成图像后,使用以下命令执行ws.send:

var image = new Image();
image.onload = function()
{
 ws.send("complete");
}
image.src = 'image.jpg';
Run Code Online (Sandbox Code Playgroud)

如果你这样做同步整个程序会阻塞,你不想要那样.

至于回调,你可以将一个函数作为参数传递给你的函数.例如:

function doSomething(callback)
{       
    callback();
}

doSomething(function()
{
 console.log('im done!');
});
Run Code Online (Sandbox Code Playgroud)