javascript - 如何从异步函数返回

标签 javascript asynchronous

我的代码是这样的:

myObject.myMethod('imageCheck', function () {
    var image = new Image();
    image.onerror = function() {
        return false;

    };  
    image.onload = function() {
        return true;
    };
    image.src = 'http://www.example.com/image.jpg';         
});

但是,它不起作用,大概是因为我的返回值仅从匿名函数返回,而不是从名为 imageCheck 的函数返回。我如何重写它以便整个函数返回 true 或 false?

最佳答案

你必须使用回调,例如:

myObject.myMethod('imageCheck', function () {
    var image = new Image();
    image.onerror = function() {
        returnCallback(false);

    };  
    image.onload = function() {
        returnCallback(true);
    };
    image.src = 'http://www.example.com/image.jpg';         
});

function returnCallback(bool){
    //do something with bool
}

关于javascript - 如何从异步函数返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5809300/

相关文章:

javascript - 在输入更改时更改子级内部的父级状态

javascript - 如何等待某些 jQuery 方法完成?

javascript - 按星期几更改类(class)

javascript - RobinHerbots jquery.inputmask 日期范围

javascript - 处理 JavaScript 中的某些异步情况

c# - 针对非异步服务的异步编程

asynchronous - Ada 中的触发和忘记进入/接受机制

javascript - 为什么水龙头运算符(operator)会影响水流?

python - 在普通函数中调用异步函数

c++ - 如何将 std::future<T> 转换为 std::future<void>?