首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >延迟Dojo延迟

延迟Dojo延迟
EN

Stack Overflow用户
提问于 2013-02-06 22:17:09
回答 1查看 255关注 0票数 1

我在从小部件中的方法获取延迟返回时遇到了一点问题。该方法本身返回一个延迟,因为它是一个xhrPost。代码就是这样(使用dojo 1.8)

调用代码:

代码语言:javascript
复制
quorum = registry.byId("quorumPanel");

var deferredResponse = quorum.updateSelectionCount();

deferredResponse.then(function(data){
    console.log("Success: ", data);
}, function(err){
    console.log("Error: ", err);
});

以及小部件中的代码:

代码语言:javascript
复制
updateSelectionCount: function() {

    var self = this;

    var deferredResponse = xhr.post({
        url: "ajxclwrp.php",
        content: [arguments here],
        handleAs: "json"});

    deferredResponse.then(function(response) {

    var anotherDeferred = new Deferred();

        var _boolA = true;
        var _boolB = true;
        dojo.forEach(response.result, function(relationshipInfo){
            [do a bunch of stuff here too set _boolA and/or _boolB]
        });

        self._sethasRequiredAttr(_hasRequired);
        self._setHasRequestedAttr(_hasRequested);
        self.quorumInfo.innerHTML = quorumHtml;

        // Below is not working 
        anotherDeferred.resolve('foo');
        return anotherDeferred;

    });

}

我是否需要设置另一个promise并使用promise/all。在这一点上,我感到困惑/沮丧。

蒂娅。

EN

回答 1

Stack Overflow用户

发布于 2013-02-06 22:31:38

.then()方法返回另一个延迟的。您只需要在其中放入一条return语句。

代码语言:javascript
复制
updateSelectionCount: function() {

    var self = this;

    var deferredResponse = xhr.post({
        url: "ajxclwrp.php",
        content: [arguments here],
        handleAs: "json"});

    return deferredResponse.then(function(response) {

        var _boolA = true;
        var _boolB = true;
        dojo.forEach(response.result, function(relationshipInfo){
            [do a bunch of stuff here too set _boolA and/or _boolB]
        });

        self._sethasRequiredAttr(_hasRequired);
        self._setHasRequestedAttr(_hasRequested);
        self.quorumInfo.innerHTML = quorumHtml;

        return "foo";
    });

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

https://stackoverflow.com/questions/14731234

复制
相关文章

相似问题

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