【发布时间】:2015-06-30 18:00:17
【问题描述】:
下面是代码
define(['jquery'], function ($) {
var App = function () {
var settings = {};
var identity = {};
var dSettings = $.when($.getJSON("models/settings.json"));
var dIdentity = $.when($.getJSON("models/identity.json"));
var dApp = $.when(dSettings, dIdentity);
dSettings.done(function (data) {
settings = data;
console.log(settings);
});
dIdentity.done(function (data) {
identity = data;
});
return {
"settings" : settings,
"identity" : identity
};
};
return App();
});
我想创建一个可以“知道”我的设置和身份的模块。 Return 将在 Deferred 对象被解析并且模块 App.js 具有空的 Settings 和 Identity 对象之前执行。
我该怎么做?
【问题讨论】:
-
仅供参考,在此
var dSettings = $.when($.getJSON("models/settings.json"));中使用$.when()的理由为零。它可以是var dSettings = $.getJSON("models/settings.json");。$.getJSON()已经返回了一个你所需要的承诺。
标签: javascript jquery require amd deferred