Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 等待异步方法的执行返回_Javascript_Jquery - Fatal编程技术网

Javascript 等待异步方法的执行返回

Javascript 等待异步方法的执行返回,javascript,jquery,Javascript,Jquery,当文件被发送上传时,我有一个回调,如果我想阻止上传,我需要返回false。当图像大小不合适时,我想中止: onSend = function(data) { $.when(self._readImage(data[0])).then(function(img) { if (img.width > 42) { // onSend should return false } }); ret

当文件被发送上传时,我有一个回调,如果我想阻止上传,我需要返回false。当图像大小不合适时,我想中止:

onSend = function(data)
{
    $.when(self._readImage(data[0])).then(function(img)
    {
        if (img.width > 42)
        {
            // onSend should return false
        }
    });

    return true; // true == start uploading
}
如何在从onSend返回之前等待_readImage执行


注意:_readImage基本上只是使用img中解析的延迟对象来执行readAsDataURL。onload

您不能,但您也可以返回延迟对象或使其接受回调。我不认为您可以这样做。您必须在开始上传之前进行检查,然后根据检查开始或不开始上传