gpt4 book ai didi

javascript - Firebase 函数返回

转载 作者:行者123 更新时间:2023-11-28 03:05:32 26 4
gpt4 key购买 nike

我有一个函数来获取图像的链接。我想在单击标记时显示图像以及其他详细信息。问题是函数返回未定义。

表结构:

报告文件//表名称

-M27OTpU_Be6D8gPQujA//id

1583910088597:“https://firebasestorage.googleapis.com/v0/b/lto

1583910088685:“https://firebasestorage.googleapis.com/v0/b/lto

  //this is where i all the function
contentString = '<div class="info-window-content">' +
ret(ids) + '</div>';

//returns the url of the images. I want show it when i click the marker
function ret(ids) {
var pic;
var rootRef = firebase.database().ref().child("Report Files/"
+ ids)
rootRef.once('value').then(function(childs) {
childs.forEach(function (child) {
pic += '<img src="' + child.val() + '" style="display:
block;width:200px;margin-left:auto;margin-right:auto;height="200">';
return pic;
});
});
}

最佳答案

尝试以下操作:

function ret(ids) {
return new Promise((resolve, reject) => {
var pic;
var rootRef = firebase.database().ref().child("Report Files/" + ids)
rootRef.once('value').then(function(childs) {
childs.forEach(function (child) {
pic += '<img src="' + child.val() + '" style="display:
block;width:200px;margin-left:auto;margin-right:auto;height="200">';
resolve(pic);
});
});
});
}

从函数ret返回一个promise,使用resolve(pic)返回pic的值当promise完成时。然后要获取pic的值,可以执行以下操作:

  contentString = '<div class="info-window-content">' + 
ret(ids).then((result)=>{result}) + '</div>';

then() 方法最多接受两个参数:Promise 成功和失败情况的回调函数。

查看此处了解更多信息:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then

关于javascript - Firebase 函数返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60650026/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com