首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“在处理程序中创建了promise,但未从中返回”

“在处理程序中创建了promise,但未从中返回”
EN

Stack Overflow用户
提问于 2017-01-04 10:34:51
回答 1查看 37关注 0票数 0

当用户单击一个按钮(#lfdsubmit)时,它会调用函数(LFD_SearchContainer()),该函数应该返回一个promise。但是错误发生在

代码语言:javascript
复制
LFD_SearchContainer('EISU1870725')
.then(container => {
  ST2.db2(container);
})

怎么啦?代码:(不要完全相信注释掉的部分会指导你完成这段代码--我忘了更新其中的一些)

函数LFDTrack () {

代码语言:javascript
复制
function LFD_SearchContainer (requestedContainer) {
    return new Promise((resolve, reject) => {
        let lfd_scanparams = { TableName: 'lfd_table1' }
        db.scan(lfd_scanparams, (err, containers) => {
            if (err) {
                reject(err);
            } else {
                containers = containers.Items;

                let requestedContainers = []; // different variable than arg

                let containerObject; // this will be the resolved object

                // this will return the object of the searched container
                let findIt = _.forEach(containers, container => {
                    if (container.container === requestedContainer) {
                        containerObject = container;
                    }
                });
                containerObject = findIt[0];
                //console.log(findIt[0]);
                resolve(containerObject.container);
            }
        });
    });
}

$(function() {
    $("#lfdsubmit").click(function (e) {
        e.preventDefault();

        let lsd_modaltitle = $("#lfdmodaltitle");
        let lsd_modalcontent = $("#lfdmodalcontent");

        LFD_SearchContainer('EISU1870725')
        .then(container => { 
            ST2.db2(container); // will send the object
        })
        .catch(error => {
            console.log(error);
        });
    });
});

}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-04 10:49:34

如果ST2.db2(container);返回一个promise,您需要将该行更改为

代码语言:javascript
复制
return ST2.db2(container);

如果没有,您可以将return null;放在后面,如下所示:

代码语言:javascript
复制
ST2.db2(container);
return null;

因为您没有提供ST2的定义,所以我不知道db2方法是否返回promise。:)

蓝鸟here的作者解释了这个错误。

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

https://stackoverflow.com/questions/41455348

复制
相关文章

相似问题

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