我有一个RequireJS模块,我只希望在调用onReady()事件后返回一个对象。
define([
'kendovendor',
'TodoDB',
'jaydatakendo'
], function (kendo,tododb,jdvend) {
var onlinedb = new Avcheck.Layered.Model.AvCheckContext({
name: 'oData',
oDataServiceHost: '/WcfDataServiceTest.svc'
});
var offlinedb = new Avcheck.Layered.Model.AvCheckContext({
name: 'webSql',
databaseName: 'TodoDB'
});
var fullDB;
offlinedb.onReady(function () {
fullDB = onlinedb.AChecklistComplete.include('AChecklistTop').include('Aircraft').include('Aircraft.Vendor').asKendoDataSource();
//calling this inside onReady() returns nothing as there is a timing issue
return {
onlinedb: onlinedb,
offlinedb: offlinedb,
FullDB: fullDB
};
});
});
原因是JayData include()仅在数据库准备好后才能工作。但另一个模块正在使用此模块作为要求,并且此模块不返回任何内容。如果我在onReady()之外调用return,那么它返回一个有效的对象,但是没有正确设置FullDB。
如何设置RequireJS与对象onready()事件很好地协作?感谢。