承诺返回承诺?

时间:2015-02-02 11:12:21

标签: javascript node.js promise

我正在尝试创建以下promise语法:

我希望在post函数之后调用辅助then,我该怎么做?

randomBytes.then(function() {
   return requestPromise.post(....);
}).then(function() {
   // I want this part to be called after the POST
});

2 个答案:

答案 0 :(得分:3)

事实上这已经奏效了(正如评论所说 - 假设.post返回一个承诺)几乎是then的重点 - 它允许你等待东西。

如果您从then返回承诺,则链将采用其状态,因此仅在完成后才会调用以下段

randomBytes.then(function() {
   return requestPromise.post(....);
}).then(function() {
   // WILL ALWAYS BE CALLED AFTER THE POST
});

答案 1 :(得分:0)

它应该有用。 你可以添加一个'然后'获得帖子值;

randomBytes.then(function() {
   return requestPromise.post(....).then((value,...)=>{return value;});
}).then(function(value) {
   //console.log(value);
});