如果我有这样的东西
return this.retrieveArticles(blogId).then(function(response){
return response.articles;
}).then(_).call("findWhere", match).then(function(article){
return {
"article": article
}
});
我决定关掉最高位
return response.articles;
}).then(_).call("findWhere", match).then(function(article){
return {
"article": article
}
});
我该怎么做
Promise.return(articles).then(_).call("findWhere", match).then(function(article){
return {
"article": article
}
});
答案 0 :(得分:2)
Promise.resolve(_(articles)).call("findWhere", match);
或
Promise.resolve(articles).then(_).call("findWhere", match);
答案 1 :(得分:1)
从then
您可以直接返回值:
var p = someFn().then(function(){
return 43;
});
p.then(function(val){
console.log(val); // 42
});
如果您不在链中,可以使用Promise.resolve
:
var p = Promise.resolve(42);
p.then(function(val){
console.log(val); // 42
});
大多数图书馆提供这些变体。另一个例子是Bluebird - 在bluebird中,你可以使用Promise.method
强制函数返回一个promise,无论你是否自己返回一个值或一个promise。
答案 2 :(得分:0)
function promiseString(str){
return new Promise(function(resolve, reject) {
return resolve(str)
})
}
promiseString("hello world").then(function(x){
console.log(x)
}