gpt4 book ai didi

javascript - 为什么 Parse.Query 总是成功,即使不成功?

转载 作者:行者123 更新时间:2023-12-03 07:54:55 24 4
gpt4 key购买 nike

在 parse.com 云代码中,我有一个非常简单的函数“IsNameAlreadyTaken”,但无论我传递什么“用户名”,总是会执行“成功”。这是为什么?

Parse.Cloud.define("IsNameAlreadyTaken", function(request, response) {
Parse.Cloud.useMasterKey();
var query = new Parse.Query(Parse.User);
console.error("Please log request.params.username: " + request.params.username + "<++++");
query.equalTo("username", request.params.username);
query.first({
success: function(user) {
response.success("user was found." + user);
},
error: function(error) {
response.error("Could not find user." + error);
}
});
});

这里我使用已使用的用户名进行测试:

curl -X POST \
-H "X-Parse-Application-Id: uOXz....rPt" \
-H "X-Parse-REST-API-Key: GAv...SmK" \
-H "Content-Type: application/json" \
-d '{"username": "UsernameAlreadyTaken"}' \
https://api.parse.com/1/functions/IsNameAlreadyTaken

响应很好:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload Upload Total Spent Left Speed
100 34 --:--:-- --:--:-- --:--:-- 68{"result":"user was found. [object Object]"}

问题在于,确切的行为是当用户名不存在时:

curl -X POST \
-H "X-Parse-Application-Id: uOXz....rPt" \
-H "X-Parse-REST-API-Key: GAv...SmK" \
-H "Content-Type: application/json" \
-d '{"username": "nonExistedUsername"}' \
https://api.parse.com/1/functions/IsNameAlreadyTaken

并且响应是相同的:WTF!!!

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload Upload Total Spent Left Speed
100 61 --:--:-- --:--:-- --:--:-- 105{"result":"user was found. undefined"}

知道发生了什么吗?这是 Parse.com 中的错误吗?

最佳答案

疯狂猜测:我认为当 user 不存在时,你会得到 user === undefined 信息(如果存在,你会得到 user 对象),这样你就有了你需要的信息。

error: 仅当连接失败或类似情况时才可能调用回调。在 JavaScript 中的许多情况下,这是一种标准处理。

关于javascript - 为什么 Parse.Query 总是成功,即使不成功?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34839120/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com