設定したプロミスチェーンを通じてパラメータを渡す際に問題が発生します。ここに私がしようとしているものの基本的な例があります。これらの約束は、より多くの情報は私が5を渡していることの終わりまでに、チェーンに追加され続けるように私は、約束のチェーンを介して複数のパラメータを渡すことができますどのようにパラメータ、ユーザが定義されていない第二約束では、プロミスチェーンへのパラメータの受け渡し
var dummyReq = { client: null };
var dummyUser = { email: '[email protected]', password: 'admin' };
function printEmail(request, user) {
return new Promise((resolve, reject) => {
console.log('Email:', user.email);
return resolve(request, user);
});
}
function printPassword(request, user) {
return new Promise((resolve, reject) => {
console.log('Password:', user.password); // <-- user is undefined
return resolve(request, user);
});
}
printEmail(dummyReq, dummyUser)
.then(printPassword)
.catch(function(error) {
console.log('Unexepected error has occured');
});
最終的な約束までの価値観。
ES6演算子を使用してオブジェクトに結合し、呼び出すたびにそれらを分解する必要がありますか?たとえばreturn resolve({request, user})
、次にconst { request, user } = param
はい、正しくあり、 'resolve'と' reject'は1つのパラメータを受け取るべきです。 –
単に '.then(request => printPassword(request、dummyUser))'を使うことはできませんか? – Phil
値で同期的に解決しているときには、約束を使用しないでください。 – Bergi