私は、多くの約束事を使用するノードアプリケーションを作成しています。私のコードを読めるようにするために、できるだけ多くの匿名関数を削除して、次のような1つのJavaScriptオブジェクトに格納しています。JavaScript:新しい変数をデフォルトのメソッドに渡す
let myCallbacks = {
myFirstCallback: function(fulfill, reject) {
// Do some stuff
if(noError)
fulfill({field: 'data'});
else
reject('ERROR');
},
mySecondCallback: function(fulfill, reject) {
// Do some stuff
if(noError)
fulfill({field: 'data'});
else
reject('ERROR');
}
}
let myFirstMethod = function() {
return new Promise(myCallbacks.myFirstCallback);
}
let mySecondMethod = function() {
return new Promise(myCallbacks.mySecondCallback);
}
これは完璧に機能します。
今私はコールバックにデータを渡す必要がある機能があります。次のコード
let myCallbacks = {
myFirstCallback: function(fulfill, reject) {
// Do some stuff
if(noError)
fulfill({field: 'data'});
else
reject('ERROR');
},
mySecondCallback: function(fulfill, reject) {
// Do some stuff
if(noError)
fulfill({field: 'data'});
else
reject('ERROR');
},
myThirdCallback: function(fulfill, reject, someVariable) {
// Do some stuff
if(someVariable*3>10)
fulfill({field: 'data'});
else
reject('ERROR');
}
}
let myFirstMethod = function() {
return new Promise(myCallbacks.myFirstCallback);
}
let mySecondMethod = function() {
return new Promise(myCallbacks.mySecondCallback);
}
let myThirdMethod = function(someVariable) {
// Doesn't work
return new Promise(myCallbacks.myThirdCallback);
// Doesn't work
return new Promise(myCallbacks.myThirdCallback(fulfill, reject, someVariable);
// Doesn't work
return new Promise(myCallbacks.myThirdCallback(someVariable));
}
myCallbacks.myThirdCallbackにmyThirdMethodからsomeVariableに合格する正しい方法は、()とは何ですかを想像してみ?
まず第一に、 'myCallbacks.myThirdCallback'を呼び出すときに構文エラーがあります。最後に ''新しいプロミス ''を閉じる必要があります。 – edwarddamato
ありがとうございました。私がやっていることのほんの一例として、これを本当に素早く入力しました。 – user316114