【发布时间】:2014-10-24 21:18:35
【问题描述】:
我正在尝试弄清楚如何将 Promises 与 AMS Javascript API 一起使用。
这是我创建的两个将被“承诺”的函数
function checkUsername(username, table) {
return table.where({username: username}).read({
success: function (results) {
if (results.length === 0) {
return true;
} else {
return false;
}
},
error: function(error) {
return false;
}
});
}
function checkEmail(email, table) {
return table.where({email: email}).read({
success: function (results) {
if (results.length === 0) {
return true;
} else {
return false;
}
},
error: function(error) {
return false;
}
});
}
checkUsername(body.username, accountsTable).then(function (results) {
if (results) {
return checkEmail(body.email, accountsTable);
} else {
response.send(400, {message: 'This username is already in use.'});
}
}).then(function(results) {
if (results) {
response.send(200, {message: 'Can proceed with sign up.'});
} else {
response.send(400, {message: 'This email address is already in use.'});
}
});
我正在尝试像在 Parse 中一样使用 Promise,但它显然不起作用。控制台日志不断吐出内部服务器错误,并且 .then() 不是对象的函数。我假设我缺少一个要求或其他东西才能拥有 Promises 功能?
Error in script '/api/register.js'. TypeError: Cannot call method 'done' of undefined
at exports.post (D:\home\site\wwwroot\App_Data\config\scripts\api\register.js:30:59)
[external code]
【问题讨论】:
标签: javascript node.js azure