笔记:
firebase 的异步特性已经在这里讨论了数千次,但我的低声誉数字不允许对现有问题发表评论。这就是我问这个问题的原因。
我是菜鸟,所以请帮助我以易于理解的方式理解实现。
实施步骤:
用户在 HTML 输入框中输入值
在 firebase db 中搜索输入值(调用 showMessage())
根据步骤 2 中的搜索结果显示适当的结果
面临的问题:步骤 3 中显示的消息平均需要 1.75 秒才能显示。这种体验对用户不友好。我想尽快显示消息,即想减少获取时间。
可能的根本原因:
我从 firebase dB 获取数据的方式不正确(我仍然不明白如何信守承诺 :()
或者搜索和显示的机制不对
var full_name;
function showMessage(){
extractData();
}
function extractData(){
test(function(returnValue) {
custom_message = searchMessage(returnValue);
var container = document.querySelector('#placeholder');
var para = document.createElement('p');
var custom_message = "Happy happy, buds!";
para.innerHTML = custom_message;
para.className = "message";
container.appendChild(para);
});
}
function test(callback) {
var ref = firebase.database().ref();
ref.on('value', function(snapshot) {
var data = snapshot.val();
callback(data);
}, function (error) {
console.log("Error: " + error.code);
});
}
function searchMessage(data){
for(var i = 0; i < data.length; i++)
{
name_f_data = data[i].firstName.concat(" ", data[i].lastName);
if(full_name.toLowerCase() == name_f_data.toLowerCase())
{
console.log(name_f_data.toLowerCase());
console.log(full_name.toLowerCase());
return data[i].message;
}
}
}
哔哔one
翻阅古今
随时随地看视频慕课网APP
相关分类