如何在dojo require块内返回一个值? 假设我有这样的设置:
<div class = "people">
<span class = "name"> Joe Bloggs </span> the Baker <br />
<span class = "name"> John Smith </span> the Chef <br />
</div>
function getNames () {
require(["dojo/query", "dojo/domReady!"], function(query) {
var names = [];
query (".name").forEach (function (node) {
names.push (node.innerHTML);
});
return names;
});
}
function doSomethingWithNames () {
var names = getNames (); // names is always undefined
}
我知道为什么会发生这种情况 - require块是异步执行的,因此在doSomethingWithNames中分配变量名之前,getNames已经返回了。但是我该如何解决这个问题呢?