在Parse中保存新用户时,虽然用户保存正确,但保存后不会返回新用户,因此代码错误为console.log("userResult id " + userResult.id);
。如果用户已经存在,则save函数会正确返回该id。这是一个与解析错误还是我错过了什么?解析新用户保存不会返回新的ID
return userQuery
.first(function (userResult) {
if (!helpers.isDefined(userResult)) {
userResult = new Parse.User();
userResult.set("username", helpers.phoneToUsername(phoneNumber));
userResult.set("password", helpers.generatePassword(phoneNumber));
userResult.set("displayName", displayName);
}
userResult.set("location", location);
userResult.set("smsVerified", false);
return userResult.save()
})
.then(function (userResult) {
console.log("userResult id " + userResult.id); <-- ERROR HERE
user = userResult;
return Verification.createSmsVerification(userResult);
})...
错误:
Result: TypeError: Cannot read property 'id' of undefined
var userQuery = new Parse.Query(Parse.User);
userQuery.equalTo("username", helpers.phoneToUsername(phoneNumber));
它作为如果用户正在保存然后then()
后回调,但这不应该是这样的。
非常感谢尼古拉,发现。我实际上拿出了回来测试一个新的场景,并忘记重新加入。虽然你的答案是合理和正确的!我更新了这个问题,我想我也找到了答案。 – JackalopeZero
现在一切按预期工作? –
不符合您发布的代码。这是在我的回答中解释:) – JackalopeZero