这可能是一个简单的问题,但是我具有以下功能:
addValues();
function addValues() {
addObsToMap(function() {
addMeansToMap();
});
}
它们的定义如下:
function addObsToMap(callback) {
console.log("addObsToMap");
callback();
}
function addMeansToMap() {
console.log("addMeansToMap");
}
我想做的是在调用“ addMeansToMap”之前先调用“ addObsToMap”,但是当前代码并没有发生这种情况,因为当前在“ addObsToMap”之前返回“ addMeansToMap”。我想念什么?
最佳答案
似乎工作得很好。
但是不同的浏览器和不同的版本可能具有不同的实现。
我要进行的更改将只是传递“ addMeansToMap”函数作为回调,而不是创建一个新的函数来执行它。
addValues();
function addValues() {
addObsToMap(addMeansToMap);
}
function addObsToMap(callback) {
console.log("addObsToMap");
callback();
}
function addMeansToMap() {
console.log("addMeansToMap");
}
这样,如果需要,我们还可以更轻松地将数据从addObsToMap传递到addMeansToMap,而无需全局变量。
addValues();
function addValues() {
addObsToMap(addMeansToMap);
}
function addObsToMap(callback) {
console.log("addObsToMap");
callback("addMeansToMap");
}
function addMeansToMap(arg) {
console.log(arg);
}
关于javascript - JavaScript回调似乎无效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43017688/