我正在使用Javascript创建HTML5,但有时代码在当前行完成之前执行下一行语句,
例如,我将图像传递给Javascript中的对象,但是在对象具有图像之前已经执行了下一个语句,因此有时对象没有图像,但有时它有,
所以在两行之间我需要分配回调或等待功能,但我不知道如何
var image=new Image();
ws.send("complete");
Run Code Online (Sandbox Code Playgroud)
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)