【发布时间】:2014-08-26 14:49:46
【问题描述】:
我在全局范围内声明了这个变量:
var wait;
然后,在事件侦听器中,我为这个变量分配一个函数,然后附加一个回调函数:(我正在使用 Dojo,通过 ArcGIS Javascript API)
wait = doThis();
wait.addCallback(function (){
doNextThing();
});
doThis 从地图中删除一些图层:
doThis(){
var layer = map.getLayer("mapLayer");
if (layer) {
map.removeLayer(layer);
}
..但是当我运行它时,我收到一条错误消息,提示“等待”未定义...
我的代码中其他地方有类似的语法可以工作...是因为我在事件侦听器中分配了回调吗?如果是这样,是否有解决方法?我真的需要在 doNextThing() 开始之前完成 doThis()。
【问题讨论】:
-
等待 = doThis();评估'doThis()'的结果。如果'doThis'是一个函数,那么你应该尝试'wait = doThis'
-
我不认为是这样,这会导致错误:'wait.addCallback is not a function'
-
function doThis长什么样子? -
doThis不返回任何内容。你认为addCallback来自哪里? -
我添加了一个返回值,但这并没有改变结果。
标签: javascript callback scope global-variables arcgis-js-api