JS在被调用函数之外返回数据,该函数返回延迟对象

时间:2015-09-09 20:04:41

标签: javascript jquery ajax oop asynchronous

问题

我从扩展的javascript对象调用一个函数,该对象返回一个延迟对象。

我的代码看起来像这样

XModel.prototype = new Model();

function XModel()
{
    this.load = function()
    {
        var url = 'php/main.php?controller=data&action=load';
        // would like to have the data here

        this.getServer().get(url).done(function (data) {
            // i wanna pass this data back to the controller object, 
            // outside this XModel object
        }).fail(function(textStatus) {
            throw (textStatus.responseText);
        });
    }
}

现在我无法将数据返回到调用mXModel.load()的控制器对象;既不在XModel对象的函数负载内传递它。

感谢您的帮助

如果您想返回数据,因为您的MVC模型解决方案是......

function Controller()
{
    this.load = function()
    {
        var mXModel = new XModel();

        mXModel.load().done(function(data) {
            var mXView = new XView(); // create new View Object
            mXView.show(data); // call function show and pass the data
        }).fail(function(error) {
            // some error code
        });
    }
}

我想将数据从XModel返回到Controller,因为我只在Controller中创建了一个XView对象而不是XModel。

所以这就像你会返回数据一样。您可以在Controller中调用load函数,当它完成(完成)时,代码将被执行。

希望有所帮助:)

可能不是可能解决方案的重复原因?

0 个答案:

没有答案