我想在地理编码器回调函数中引用item对象。 如果我使用下面的代码,则Item总是指每次迭代的最后$的状态。我假设这是因为回调是在$ each循环结束后运行的。因此,我需要将item对象传递给地理编码器。我怎么能这样做?
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at fl.video::UIManager/http://www.adobe.com/2007/flash/flvplayback/internal::hookUpCustomComponents()
at fl.video::FLVPlayback/http://www.adobe.com/2007/flash/flvplayback/internal::handleVideoEvent()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at fl.video::VideoPlayer/http://www.adobe.com/2007/flash/flvplayback/internal::setState()
at fl.video::VideoPlayer/http://www.adobe.com/2007/flash/flvplayback/internal::finishAutoResize()
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
答案 0 :(得分:0)
不完全理解这个问题,所以也许这不会有帮助,但是你想要做的事情是这样的:
results.data.forEach(function(item) {
geocoder.geocode( { 'address': address}, function(results, status) {
item.lat = results[0].geometry.location.lat();
item.lng = results[0].geometry.location.lng();
});
});
这将确保对项目的引用是正确的。如果它是一个对象,你可以使用Lodash的forOwn而不是forEach。如果你真的想使用jQuery,那么回调的第二个参数就是item。