【发布时间】:2016-10-28 03:18:24
【问题描述】:
我正在使用 jquery 发送一个 ajax 请求以执行某些任务,并根据该 jquery GET 响应的结果,我正在 Parse Js 库上执行一些操作。
例如
我已经创建了一个这样的方法来发送请求。
sendRequest(URL, userId){
return $.ajax({
url: URL + userId,
type: 'GET',
}).fail((responseData) => {
if (responseData.responseCode) {
console.error(responseData.responseCode);
}
});
}
我就是这样用的——
sendRequest(URL, userId)
.then(
(data) => {
// Example
// Get some value from data and save it in Parse object
var GameScore = Parse.Object.extend("GameScore");
var gameScore = new GameScore();
gameScore.set("score", 1337);
gameScore.set("playerName", "Sean Plott");
gameScore.set("cheatMode", false);
return gameScore.save();
}
).then(
(changedGameObj) => {
console.log(changedGameObj);
// At this point receiving a parse promise which is not resolved yet.
},
(error) => {
}
);
我知道我正在混合使用 jquery promise 和 Parse promise,但不知道如何解决解析承诺,因为 jquery 承诺更早得到解决。
我对 js 的承诺很陌生,请指出我错在哪里。
【问题讨论】:
-
您可能还会发现,对于 jQuery deferred,使用
function(data)语法比(data) =>效果更好。 -
您遇到了well-known problem。不要使用 jQuery 承诺 :-)
标签: javascript jquery ajax parse-platform