javascript - 如何将参数传递给promise函数

标签 javascript node.js promise parameter-passing es6-promise

这似乎是一个愚蠢的问题,但我是这个主题的新手。我正在研究 Node js 的 promise 。我想将参数传递给一个 promise 函数。但是我想不通。

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 包装在一个函数中,否则它会立即开始工作。另外,您可以将参数传递给函数:

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
});

关于javascript - 如何将参数传递给promise函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35318442/

相关文章:

javascript - 在nodejs中的async wait函数之后返回响应

javascript - 为什么等待函数会导致 "Invalid left-hand side in assignment"?

javascript - ajax函数中获取参数

javascript - 悬停时使用 javascript 和 html 的工具提示

node.js - Express - 创建一个新的 View 引擎

javascript - 根据单选按钮值使用javascript(Node JS)将数据插入mysql(Sequelize)

javascript - 创建 Q Promise 并稍后调用它

javascript - 使用 wkhtmltopdf 创建 pdf 并渲染 javascript

javascript - jQuery 附加新数据

javascript - 无法将 “custom blob” 保存到 Firestore - ADMIN SDK