映射功能名称失败,内联功能成功

时间:2018-12-03 23:37:06

标签: javascript arrays promise

考虑以下代码:

const loadImage = thenify(map.loadImage).bind(map);
const markerNames = ['markers/red-map-marker.png', 'markers/teal-map-marker.png'];

// works
markerNames.map(x => loadImage(x))                      

// works
markerNames.map(function(x) { return loadImage(x) })   

// fails: "TypeError: e is not a function"
markerNames.map(loadImage)

我无法理解为什么第三种形式会失败。我以为它的含义与第二种形式相同。

1 个答案:

答案 0 :(得分:0)

我认为这是因为Array.map()向函数传递了两个参数-数组元素,然后是数组索引。第二个被解释为好像应该是一个函数,不是。