如何将参数传递给promise函数 [英] How to pass parameter to a promise function
本文介绍了如何将参数传递给promise函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这似乎是一个愚蠢的问题,但我是这个主题的新手。我正在研究节点js上的promises。我想将参数传递给promise函数。但是我无法理解。
this might seem a silly question but I am a newbie in this topic. I am working on promises on node js. And I want to pass parameter to a promise function. However I could not figure it out.
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包裹在一个函数中,或者它将立即开始工作。另外,你可以将参数传递给函数:
Wrap your Promise inside a function or it will start to do its job right away. Plus, you can pass parameters to the function:
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 */
});
这篇关于如何将参数传递给promise函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文