私は、Node.jsバックエンドを持つAzure App Service(モバイルアプリケーション)プロジェクトで作業しています。Azure Node.js Appサービス - カスタムプロビジョニングを作成する
私は複数のユーザーレベルがあり、特定のAPIメソッドは非昇格ユーザーには適用されません。
- ノーマルユーザー
- スーパーユーザー
- 内部ユーザー(従業員)
私は機能が正しく利用者の状態を確認し、予防するためのコードを構築しています:基本的に、私は、ユーザーの3つのレベルを持っていますAPIメソッドが使用されていません。このコードは多くのAPIメソッドで使用されているため、共有コードモジュールを作成して、API全体で同じコードを20回以上繰り返さないようにしています。
私が実行している問題は、ブール値で解決される共有コードから約束を正しく返す方法を理解できないことです。
は、ここで私は(非機能コードを)何をしようとしているのインスタンスです:
module.exports = {
isEmployee: function(req, next) {
var context = req.azureMobile;
var user = context.user;
var username = user.id;
var query = {
sql : 'Exec usp_...',
parameters : [ { name: '...', value: ... } ]
};
// The following line has compiler error
return new Promise(function (fulfill, reject) {
context.data.execute(query).then(function (results) {
var result = results.Result;
if (result === 'Success') {
fulfill(true);
} else {
fulfill(false);
}
}).catch(next);
});
}
};
は私がhereたコードを適用しようとすることで、このコードになりました。
"Promise 'という名前を見つけることができません"というコンパイラエラーが発生します。
基本的に、私はこの共有コードメソッドで自分の約束事を構築する方法についていないので、このメソッドを呼び出す他のメソッドが実行を待つことができます。私はこのメソッドを "可"にしようとしていると思います。 Azure Node.jsでどうすればいいですか?
Azureコンソールからそのコードを実行すると、エラーが発生し、この「3.14.5.9」が続きます。それは答えですか? – mbm29414
私が 'es6-promise'モジュールをインストールした場合、それは他のものを壊してしまいますか? Azure SDKとの互換性はありますか? – mbm29414
"3.14.5.9"が正しいと約束をサポートしていません。そして 'es6-promise'は古いnodejsバージョン(https://www.npmjs.com/package/es6-promise)を持つ多くの人々によって使用されています。それは実際には 'polyfill'なので、私はそれが何かを崩壊させるとは思わない。しかしあなたはあなた自身であります:) – Oxi