微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

这似乎是一个愚蠢的问题,但我是这个主题的新手.我正在研究节点js上的promises.我想将参数传递给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 someFunction = 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"));
    }
  });
}

然后,使用它:

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

ES6:

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

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

采用:

someModule.someFunction(username, password).then(uid => {
  /* stuff */
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐