【发布时间】:2015-04-28 01:15:36
【问题描述】:
我能否定义一个依赖于动态 AJAX 调用结果的 AMD 模块?
例如:
define([ 'jquery', 'config' ], function ($, config) {
$.get(config.API + 'getSomething', { key: config.KEY }).done(function (res) {
// I want res to be what this module returns
});
});
我可以这样做:
define([ 'jquery', 'config' ], function ($, config) {
return $.get(config.API + 'getSomething', { key: config.KEY });
});
但是每当我需要这个模块时,我必须附加一个done,我不想这样做:
define([ 'something-module' ], function (something) {
something.done(function (res) {
// All my codes here
});
});
如果我可以在考虑加载模块之前等待 API 调用的结果,然后返回该调用的结果,那会更干净,但我不知道这是否可能。
【问题讨论】: