1. ホーム
  2. javascript

[解決済み] プロミス関数にパラメータを渡す方法

2022-04-24 09:44:04

質問

私はこのトピックの初心者です。私はnode jsでプロミスに取り組んでいます。そして、私はプロミス関数にパラメータを渡したいです。しかし、私はそれを理解することができませんでした。

someModule.someFunction.then(username, password,function(uid) {
  /*stuff */
}

というような関数があります。

var someFunction = new Promise(username, password, function(resolve, reject) {
  /*stuff using username, password*/
  if ( /* everything turned out fine */ ) {
    resolve("Stuff worked!");
  } else {
    reject(Error("It broke"));
  }
});

解決方法は?

Promiseを関数で囲むと、Promiseはすぐにその仕事を始めます。さらに、関数にパラメータを渡すこともできます。

var some_function = function(username, password)
{
 return new Promise(function(resolve, reject)
 {
  /*stuff using username, password*/
  if ( /* everything turned out fine */ )
  {
   resolve("Stuff worked!");
  }
  else
  {
   reject(Error("It broke"));
  }
 });
}

では、使ってみてください。

some_module.some_function(username, password).then(function(uid)
{
 // stuff
})

ES6です。

const some_function = (username, password) =>
{
 return new Promise((resolve, reject) =>
 {
  /*stuff using username, password*/

  if ( /* everything turned out fine */ )
  {
   resolve("Stuff worked!");
  }
  else
  {
   reject(Error("It broke"));
  }
 });
};

使用してください。

some_module.some_function(username, password).then(uid =>
{
 // stuff
});