异步函数返回

时间:2012-10-02 15:39:06

标签: javascript titanium

我正在使用Titanium Studio中的应用程序。我实现了一个MVC基础架构,并且在控制器中我想从云中获取一些数据,然后才调用该视图。代码与此类似。

 Default : function() {
    Cloud.Objects.query({
        classname : 'Customer',
    }, function(e) {
            if (e.success) {
                Ti.API.info('aci ' + e.Customer);
                favorites = e.Customer;
                return this.view("Default", favorites);
            } else {
                alert('Error:\\n' + ((e.error && e.message) || JSON.stringify(e)));
            }
        });
    },
}

问题是,第一个函数必须返回“this.view(”Default“,favorites);”,而不是来自查询的回调。此外,查询函数是asyncronus,我必须等待数据,然后才调用视图。

你有什么想法吗?

谢谢

1 个答案:

答案 0 :(得分:0)

receiveCustomer等自定义事件创建偶数处理程序。

当客户检索到时,触发事件receiveCustomer并将客户设置为事件数据或使用检索到的数据初始化回调之外的某个变量(但在这种情况下,在事件触发之前)。事件处理程序onReceiveCustomer从事件数据或该变量中获取客户并呈现视图。