[英]Return a promise from a custom function
最初在GitHub上問
你好
您能否告訴我如何使用bluebird從自定義函數中返回承諾? 這是我正在使用的:
var session = require('express-session');
var RedisStore = require('connect-redis')(session);
var P = require('bluebird');
var redisSessionStore = new RedisStore({client: redisClient});
P.promisifyAll(redisSessionStore);
redisSessionStore.getAsync('active_session').then(function(data) {
if(!data || (data.timestamp < Data.now())) {
return sulogin(params);
}
}).then(function(values) { // expecting sulogin to return a promise
// do another async call
});
function sulogin(params){
}
我如何使sulogin兌現承諾?
我將sulogin修改為如下形式:
var http = require('http');
var Promise = require('bluebird');
function sulogin(arg, fn) {
Promise.props({
host:"localhost",
port: 8080,
path: '/uaa/login.do',
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).then(function(result) {
return http.requestAsync(result);
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.