Javascript 解析:保存后获取对象id

Javascript 解析:保存后获取对象id,javascript,parse-platform,Javascript,Parse Platform,我相信这很简单,但我有一个新的javascript。。。 我找了很长时间,但没有找到解决办法 在PARSE中,我想创建一个对象并在保存时获取id var Obj = Parse.Object.extend("obj"); var obj = new Obj(); obj.save(null,{success:function(obj){alert(obj.id)}}) 此警报显示id,但当我尝试获取该值时,只会获取一个未定义的值 var Obj = Parse.Object.extend("o

我相信这很简单,但我有一个新的javascript。。。 我找了很长时间,但没有找到解决办法 在PARSE中,我想创建一个对象并在保存时获取id

var Obj = Parse.Object.extend("obj");
var obj = new Obj();
obj.save(null,{success:function(obj){alert(obj.id)}})
此警报显示id,但当我尝试获取该值时,只会获取一个未定义的值

var Obj = Parse.Object.extend("obj");
var obj = new Obj();
var objid;
obj.save(null,{success:function(obj){objid = obj.id}})
alert(objid)
未定义

var Obj = Parse.Object.extend("obj");
var obj = new Obj();
var objid;
obj.save(null,{success:function(obj){objid = obj.id}})
alert(objid)
你能帮我吗?
谢谢

传递到
obj.save
的成功回调被异步调用:它在解析库收到成功响应后的某个点执行。第二个示例中的警报是同步调用的:它不会等待成功回调执行,因此此时永远不会定义
objid

这不是一个与解析相关的问题,而是一个在JavaScript中处理异步代码的问题。这些答案将为您快速介绍JS中的异步性:


传递到
obj.save
的成功回调被异步调用:它在解析库接收到成功响应后的某个点执行。第二个示例中的警报是同步调用的:它不会等待成功回调执行,因此此时永远不会定义
objid

这不是一个与解析相关的问题,而是一个在JavaScript中处理异步代码的问题。这些答案将为您快速介绍JS中的异步性:


要扩展用户2943490正确指出的内容,如果您希望该警报()工作,只需将其移动到成功回调中。

要扩展用户2943490正确指出的内容,如果您希望该警报()工作,只需将其移动到成功回调中。

,目前的解析包括在完成后可以一个接一个地调用和定义函数的承诺。下面是一个返回新创建对象的objectId的示例

var ParseObj = Parse.Object.extend("obj"); 
// Create a new instance of class.
var obj = new ParseObj();
obj.save(null, { useMasterKey: true }).then(function(obj) {
    response.success(obj.id);   //obj.id is the objectId
}, function(error) {
// If there's an error storing the request, render the error page.
    response.error('Failed to save object.');
});

另一个注意事项是,目前的解析包括在完成后可以一个接一个地调用和定义函数的承诺。下面是一个返回新创建对象的objectId的示例

var ParseObj = Parse.Object.extend("obj"); 
// Create a new instance of class.
var obj = new ParseObj();
obj.save(null, { useMasterKey: true }).then(function(obj) {
    response.success(obj.id);   //obj.id is the objectId
}, function(error) {
// If there's an error storing the request, render the error page.
    response.error('Failed to save object.');
});