如何将parameter passing给promise函数
这似乎是一个愚蠢的问题,但我是这个主题的新手。 我正在承诺节点js。 我想将parameter passing给promise函数。 但是我无法弄清楚。
someModule.someFunction.then(username, password,function(uid) { /*stuff */ }
和function是类似的
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")); } });
把你的承诺包装在一个function里,否则它就会马上开始工作。 另外,您可以将parameter passing给函数:
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 */ })
- 这是正常的bluebird / node.js / expresserror handling?
- 如何find哪些promise在nodejs中未处理UnhandledPromiseRejectionWarning?
- 使用promise和rediscallback
- 原生JS Promise的这种用法是否会导致Node.js中的内存泄漏?
- 我如何正确编写一个模块来与Bluebird的PromisifyAll兼容
- 如何使用async.js中的Promise进行编码?
- Nodejs Promise.all()总是parsing
- 防止“未处理的承诺拒绝”错误
- 为什么可以传递一个非函数参数给Promise.then()而不会导致错误?