javascript - 在 JavaScript 中封装回调

标签 javascript asynchronous

我有两个相应的列表:地址描述

在 JS 中,我使用的是第 3 方 API 方法:Foo(addresses, FooCallback);

我编写了一个 FooCallback 来获取 gecodings 数组。我想将任何 gecoding[i] 与我的 FooCallback 内的 description[i] 相匹配。最好的设计是什么?

最佳答案

您可以使用closure保存i的状态:

var addresses = [...stuff...];
var destinations = [...stuff...];
var i = 3; // maybe from a loop
var FooCallback = (function(destinations, index) {
    return function (geocodings, index) {
        if (geocodings[index] === destinations[index]) {
            // stuff;
        }
    }
})(destinations, i);

Foo(addresses, FooCallback);

关于javascript - 在 JavaScript 中封装回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7286094/

相关文章:

Java ~ 通过套接字连接发送枚举

javascript - 如何在 JavaScript 中模拟数据库限制?

node.js - Node.js Express 中的异步代码

c# - 基于等待任务的队列

javascript - 在node js中的函数外部访问时变量的值变为空

javascript - 为什么 Browserify 只导出这些 jQuery 变量之一?

c# - 为什么异步调用后调试器不在断点处停止?

尽管有分隔符参数,Javascript 连接输出带逗号的字符串

Javascript:将长 CSV 字符串拆分为字符串数组而不丢失值

javascript - Vista/W7 小工具的 javascript 中的字符串操作