を、それを使用して、私は次のように変数に約束を割り当てたい:しかし、これが原因タイミングの問題のために動作しません変数として約束を設定し、後で
const createSingleUser = function createSingleUser(userData) {
return new Promise((resolve, reject) => {
new User(userData)
.save()
.then((user) => {
resolve(user, 'user');
})
.catch((error) => {
reject(error);
});
});
};
let createUsers;
if (users instanceof Array) {
// If we have an array, we're batch creating users
createUsers = new User().createBatchUsers(users); // returns promise
} else {
// If we have a single object, we're only creating one user
createUsers = new User().createSingleUser(users); // returns promise
}
createSingleUser(users)
createUser
.then((result) => {
.....
。 promise chainを2度書く必要なしに、このような構造を作る別の方法がありますか?
@torazaburoと同様に、約束事を作成すると実行が開始されます。それを変数に割り当てることはできますが、変数は実行中の約束を表します。これは私が直面している問題です。これは、createSingleUserが(Promise)オブジェクトであり、関数ではないためです。
こんにちは、私は得ることはありませんあなたはどこで約束を2回書いていますか?なぜ 'createUser.then((result)=> {...'文?)の前に 'IF'ステートメントの後に 'new User()。createSingleUser(users)'を作成していますか? – Andrea
何時*問題?*? – Bergi
約束事を作成すると、それは実行を開始しますが、変数に代入することはできますが、変数は実行中の約束を表すことになります。 promiseを変数に格納する**関数**を格納するには、実行準備が整ったらpromiseを呼び出すことで約束を得ます。上では 'createUser()。then(。 .. –