检查每个最后一次迭代firebase以避免自动完成重复

时间:2017-09-12 19:19:23

标签: javascript firebase firebase-realtime-database autocomplete

我正在尝试创建一个自动完成搜索框,我有以下firebase代码,我在输入框的onkeyup上调用它:

function($scope){
 $scope.searchResult = [];
firebaseDb.ref("event")
    .orderByChild("eventName")
    .startAt(scope.searchinput)
    .endAt(scope.searchinput + "\uf8ff")
    .on("value", function(snapshot) {
        snapshot.forEach(function(childSnapshot) {
                $scope.searchResult.push(childSnapshot.key);
                //if last iteration clear $scope.searchResult to avoid duplicates
        });
    });
}
}

我将html中的div绑定到searchResult模型以显示建议。正如代码中的注释中所述,我需要在上一次迭代结束时清除searchResult。我无法在firebase回调函数之外清除它,因为由于异步性质,我的searchResult数组可能会在搜索之间被清除。

如何找到特定的迭代是最后一次?当用户在搜索框中键入名称时,任何其他避免重复的方法都欢迎searchResult数组

0 个答案:

没有答案