更新到 Meteor 1.2.1 和 angular 1.2.0 后,我在构建应用程序时出现错误:“ReferenceError:Promise is not defined”。在更新之前我使用 es6 的 ecmascript,在安装更新新包之后:angular-babel 并且我看到两个包之间的冲突 - ecmascript 和 angular-babel。删除 ecmascript 后出现错误...我该如何解决这个问题?
promise 使用示例:
CSMS = class CSMS {
constructor() {
return true;
}
createCheckCode(phoneNumber) {
var codeBlocks = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
var checkCode = '';
for (var i = 0; i<=5; i++) checkCode += Random.choice(codeBlocks);
return new Promise(function(resolve, reject) {
HTTP.call("GET", Meteor.settings.private.smsAPIPath,
{
params: {
login: Meteor.settings.private.smsAPILogin,
psw: CryptoJS.MD5(Meteor.settings.private.smsAPIPass).toString(),
phones: phoneNumber,
mes: '"Близкие люди". Код подтверждения: ' + checkCode,
charset: 'utf-8',
fmt: 3,
cost: 2
}
}, function(err, res) {
if (err) reject(err);
else {
if (res.statusCode == 200) {
resolve({"sms":res.content, "code":checkCode});
} else reject(res);
}
});
});
}
和类使用示例:
var sms = new CSMS();
sms.createCheckCode('+79384225547').then(
function(res) {
console.log("SMS Sended: ", res);
},
function(err) {
console.log("SMS Error:", err);
});
最佳答案
问题已解决。
meteor add promise
关于javascript - Promise 未在 meteor-angular 应用程序中定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33622890/