首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >然后呼吁承诺,而不拖延

然后呼吁承诺,而不拖延
EN

Stack Overflow用户
提问于 2015-12-27 12:03:15
回答 2查看 98关注 0票数 0

有一种方法可以不延迟地调用这个承诺吗?我想用蓝知更鸟

我希望它被称为承诺链,很少超时。

代码语言:javascript
复制
var step1 = function () {
    console.log("This is step 1, args=", arguments);
    return "ret 1";
};
var step2 = function () {
    console.log("This is step 2, args=", arguments);
    return "ret 2";
};

var deferred = Q.defer();
var promise0 = deferred.promise;
var promise1 = promise0.then(step1);
var promise2 = promise1.then(step2);

deferred.resolve("foo");

这是我使用的jsFiddle。

http://jsfiddle.net/HKhw8/1067/

更新

我需要在里面添加一些逻辑,但仍然在控制台显示步骤1、2、3,我在这里做错了什么?http://jsfiddle.net/HKhw8/1073/

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-27 12:25:39

代码语言:javascript
复制
Promise.resolve() // pass value you expect as argument in step1
    .then(step1)  // return value will be passed to step2 as argument
    .then(step2);

Promise.resolve文档

票数 0
EN

Stack Overflow用户

发布于 2015-12-27 14:24:14

蓝鸟的具体答案。

代码语言:javascript
复制
Promise.try(step1).then(step2);

如果您只使用同步步骤--不要使用承诺。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34480201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档