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

How do i make a function so that the programming line will wait until it's done and move to the next line in javascript

本文关键字:一行 javascript 移动 编程 创建 何创建 一个 函数      更新时间:2023-09-26

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

例如我正在将图像传递给Javascript中的对象,但是在对象具有图像之前已经执行了下一条语句,所以有时物体没有图像,但有时它有,

所以在 2 行之间,我需要分配一些类似回调或等待函数的东西,但我不知道怎么做

var image=new Image();
ws.send("complete");

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

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

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

如果你这样做同步,整个程序就会阻塞,你不希望这样。

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

function doSomething(callback)
{       
    callback();
}
doSomething(function()
{
 console.log('im done!');
});

不确定您的问题是否特定于图像,但对于图像,您可以执行以下操作:加载映像后,将触发 onload 事件。

var im = new Image();
im.onload = function() { ws.send('complete'); }
im.src = 'path/to/image.jpg'

看看这个: Javascript image onload

本质上,您必须编写一个事件侦听器,以便在加载图像时捕获事件。