【发布时间】:2013-06-23 05:15:33
【问题描述】:
我正在尝试让 parse.com 的花哨的新承诺发挥作用~我的意思是使用 parse 云 API。可悲的是,我遇到了一些麻烦 - 我找不到任何关于如何使其工作的真正讨论(api 似乎都是谎言或无能)
这是我的代码:
query.find(
function(results){
if (results.length > 0){
return results[0].get("id");
} else {
response.error("Nothing found. Sod this.");
}
},
function(error){
response.error("ServerDown");
}
).then(
function(moduleId){
//do anything here, i don't know, increment module? Who cares!
},
function(error){
console.log("error");
}
);
不管什么原因,这段代码都不起作用
我得到错误:
{"code":141,"error":"TypeError: Cannot call method 'then' of undefined\n at getModuleIdIfAny (main.js:71:4)\n at main.js:50:2"}
指向).then(的行
如果你能提供答案,我的笔记本电脑会爱你的,否则它必须快速进化翅膀。
【问题讨论】:
-
最明显的结论是
query.find()没有返回承诺。 -
您可能包含旧版本的 JavaScript Parse SDK。您需要包含最新版本的 SDK 才能使用 Promises 等新功能。
-
@HectorRamos 我如何包含不同的版本?目前我只是将我的 js 代码上传到解析服务器,我不知道在任何地方指定任何 sdk 东西?
-
如果您使用的是 Cloud Code,则在 config/global.json 中指定
-
我们不断发布新版本的 SDK,因此在这里指定一个版本很快就会过时。如果遇到不存在符号的任何问题,尤其是在尝试确保新发布的功能时,通常最好更新到最新版本的 SDK。最新 SDK 可在此处获取 parse.com/docs/downloads
标签: jquery parse-platform promise