我无法在承诺之外访问快照值。我有这些功能
var ourPosts = getBlogPosts()
var ourCategories = getPostCategories()
var totalnumOfPosts = getTotalPostsLength()
console.log(`Our post: ${ourPosts}\n our categories: ${ourCategories}\n total number of posts: ${totalnumOfPosts}\n`)
当我尝试这个时
import numpy as np
import pprint
pp = pprint.PrettyPrinter(indent=4)
# A sample Group - 3 members - with categorical indicators
Group1=np.array([[1,3,4,5,3,3,1,1,1],[4,3,3,1,3,3,0,1,0],[4,3,3,1,3,3,0,1,0]])
mu=np.mean(Group1,axis=0)
print("Multi dimentional group center: ")
pp.pprint(mu)
print("Multi dimentional average distance from center: ")
pp.pprint(
np.mean(
[np.linalg.norm(mu-point) for point in Group1]
))
这就是我得到的
我们的帖子:未定义我们的类别:未定义的帖子总数: 未定义
我真的不知道它是否与范围有关。请帮忙
答案 0 :(得分:0)
你没有使用Promise。
试试这个:
getBlogPosts().then(value => {
console.log(value);
});
getPostCategories().then(value => {
console.log(value);
});
getTotalPostsLength().then(value => {
console.log(value);
});
在每个return
之前添加metadataRef
,例如:
function getAuthorData() {
return metadataRef
.child("author")
.on("value", (snap) => {
return snap.val()
})
}
function getSiteSocialLinks() {
return metadataRef
.child("social")
.on('value', (snap) => {
return snap.val();
})
}
function getFeaturedPosts() {
return featuredRef.on('value', (snap) => {
return snap.val();
})
}
function getBlogPosts() {
return blogPostsRef
.orderByChild('createOn')
.on('value', (snap) => {
return snap.val()
});
}
function getPostCategories() {
return postRef
.child('categoryStats')
.on('value', (snap) => {
return snap.val();
});
}
您可能需要阅读一些关于"为什么承诺存在",以便您了解为什么需要以这种方式使用它。