Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从parse数据库保存全局变量值_Javascript_Jquery_Parse Platform - Fatal编程技术网

Javascript 如何从parse数据库保存全局变量值

Javascript 如何从parse数据库保存全局变量值,javascript,jquery,parse-platform,Javascript,Jquery,Parse Platform,我在parse数据库中有一个表(Gtree),与用户一对一的关系。如何获取值(与当前用户相关的内容)并保存到全局变量中 Parse.initialize("key", "key"); var Gtree = Parse.Object.extend("Gtree"); var output = ""; function loadTree() { var query = new Parse.Query(Gtree); query.include("user"); query

我在parse数据库中有一个表(Gtree),与用户一对一的关系。如何获取值(与当前用户相关的内容)并保存到全局变量中

Parse.initialize("key", "key");
var Gtree = Parse.Object.extend("Gtree");
var output = "";

function loadTree() {
    var query = new Parse.Query(Gtree);
    query.include("user");
    query.equalTo("user", Parse.User.current());
    query.find({
        success: function(results) {
            for (var i in results) {
                var content = results[i].get("content");
                var user = results[i].get("user");
                var username = user.get("username");
                var id = results[i].id;
                output = content;
                console.log("CONTENT:" + content);
            }
        },
        error: function(error) {
            console.log("Query Error:" + error.message);
        }
    });
}
query.find()

你可能想要这样的东西

Parse.initialize("key", "key");
var Gtree = Parse.Object.extend("Gtree");

var promiseCache = {};

function loadTree() {
    if(!promiseCache.gtree_user) {
        var query = new Parse.Query(Gtree);
        query.include("user");
        query.equalTo("user", Parse.User.current());
        promiseCache.gtree_user = query.first().then(function(result) {
            return {
                content: result.get("content"),
                user: result.get("user"),
                username: result.get("user").getUsername(),
                id: result.id
            };
        }, function(error) {
            console.log("Query Error:" + error.message);
            return error;
        });
    }
    return promiseCache.gtree_user;
}
这样,对
loadTree()
的任何调用都保证返回承诺,并且只能通过承诺方法访问用户数据,例如:

loadTree().then(function(userData) {
    // userData.content, userData.user, userData.username, userData.id are available here
}, function(error) {
    // handle error case hare
});
还请注意,应避免使用全局命名空间,因为它容易发生名称冲突和安全泄漏。上面的代码最好封装在自动执行函数或onload事件处理程序中。

query.find()
返回一个
Parse.Promise
对象,缓存和返回该对象比实际结果更简单

你可能想要这样的东西

Parse.initialize("key", "key");
var Gtree = Parse.Object.extend("Gtree");

var promiseCache = {};

function loadTree() {
    if(!promiseCache.gtree_user) {
        var query = new Parse.Query(Gtree);
        query.include("user");
        query.equalTo("user", Parse.User.current());
        promiseCache.gtree_user = query.first().then(function(result) {
            return {
                content: result.get("content"),
                user: result.get("user"),
                username: result.get("user").getUsername(),
                id: result.id
            };
        }, function(error) {
            console.log("Query Error:" + error.message);
            return error;
        });
    }
    return promiseCache.gtree_user;
}
这样,对
loadTree()
的任何调用都保证返回承诺,并且只能通过承诺方法访问用户数据,例如:

loadTree().then(function(userData) {
    // userData.content, userData.user, userData.username, userData.id are available here
}, function(error) {
    // handle error case hare
});

还请注意,应避免使用全局命名空间,因为它容易发生名称冲突和安全泄漏。上面的代码最好包装在自动执行函数或onload事件处理程序中。

不清楚应该保存什么以及保存在哪里。确切的问题是什么?我需要保存var output中Gtree.content的值不清楚应该保存什么以及保存在哪里。确切的问题是什么?我需要在var输出中保存Gtree.content的值