Javascript:对回调创建的对象执行方法
Javascript: Execute method on object created by callback
我正在一些异步JS代码中创建一个对象。当对象被创建时,我想在上面调用一个方法。我有点困惑如何引用新对象来在上面调用方法。
这是我的咖啡脚本。该代码为谷歌地图添加标记:
addLocation: (name, id, lat, lng, options, callback) ->
# Add a new location to the map
#
# @param string name - name to give the location
# @param int id - ID of the location if stored in the database already
# @param double lat - latitude
# @param double lng - longitude
# @param json options - options to use while adding the location
console.log("Adding new location '#{name}' (#{lat}, #{lng}) to map") if debug
@__setVisible true, =>
location = new Location(this, id, name)
location.setLatLng(lat, lng, options)
@locations.add(location)
callback() if callback
return location
这里是我调用这个方法的地方。我想对返回的"location"对象调用一个方法,但如何在回调中绑定到尚未实例化的对象?
__addLocation: (resultLocation) ->
# Add a new location to the map and centre the view in on it
name = $(@nameElement).val()
lat = resultLocation.geometry.location.lat()
lng = resultLocation.geometry.location.lng()
@map.addLocation name, null, lat, lng, { draggable: true }, ->
# location doesn't exist at this point so the following line fails
location.setShowInfoWindowOnClick(true)
@map.centerMap(location)
如何执行location.setShowInfoWindowOnClick(true)?
在addLocation
中,您将希望调用回调,如;
callback location
然后在你的代码中;
@map.addLocation name, null, lat, lng, { draggable: true }, (location) ->
location.setShowInfoWindowOnClick true
@map.centerMap location
相关文章:
- 对具有ui typeahead的对象中的值执行orderBy
- Javascript:对回调创建的对象执行方法
- 执行过滤对象数组的方法
- 如何指定在执行控制台时要显示的属性.log对象
- JS 函数将对象作为输入,并返回一个对象,该对象对作为参数传递的对象执行操作
- 如何在javascript中同时对多个对象执行多个函数
- jQuery droppable 对象执行 destroy() 但抛出错误
- 如何在 javascript 中对自定义对象执行小于/大于比较
- 如何在GWT(或Java AWT Swing)中使用相同的事件处理程序对相同类型的多个对象执行相同的功能
- 我得到了一个“;意外的令牌“;尝试对简单对象执行JSON.parse时出错
- 把手中嵌套的辅助对象(执行顺序)
- 如何使用Electron中的BrowserWindow对象执行脚本
- 可以't对ImageData对象执行多个操作
- 如何在Google Apps Script中使用逻辑仅对数组中的日期对象执行操作
- Emberjs -循环遍历数组'each',但每三个对象执行不同的操作
- 对多个对象执行jQuery when().done()
- js对对象执行操作,而不是数组
- 一个jQuery插件,可以对一个jQuery对象执行多个操作
- 对多个对象执行单个函数
- ajax基于从URL发送的Json对象执行操作