这似乎是一个愚蠢的问题,但我是这个主题的新手。我正在研究 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/