需要了解为什么内联函数的Promise结果不能解析为预期的返回结果

编码骚动

我正在学习有关JavaScript Promise的更多信息,并且在尝试将一些来自独立函数的Promise逻辑组合到单个内联函数时遇到了一个问题。当我将它们全部拉入单个内联函数中时,将导致promises返回结果为“ undefined”,而不是预期的“ world”值。

[按预期工作,在其中异步地分解承诺,并为承诺响应产生“世界”]

app.get('/asyncTest', (request, response) => {
    console.log("Request started...");

    var helloResult = hello()
            .then((res)=> {
                console.log('COMPLETED Promise Result (Promise completed): ' + res)
            });

    console.log('Hello Result (immediately after issuing the promise [still in promise object format]): ' + helloResult);

    console.log('Mesage at the end of the request (Should fire before completion of the promise result being fulfilled...');
});


function wait(ms) {
    return new Promise(r => setTimeout(r, ms));
}

async function hello() {
    await wait(3000);
    return 'world';
}

[不工作-承诺响应的结果为'undefined'而不是'world'。]

var helloResult = async (r) => { 
                await new Promise(r => {
                    setTimeout(r, 3000);
                    return 'world';
                })
            };

let helloResponse = helloResult().then((res)=> {
    console.log('COMPLETED Promise Result (Promise completed): ' + res)
})

[不工作-承诺响应的结果为'undefined'而不是'world'。]

var helloResult = async () => { 
                await new Promise(r => {
                    setTimeout(r, 3000);
                    return 'world';
                })
                .then((responseData)=> {
                    console.log('COMPLETED Promise Result (Promise completed): ' + responseData)
                })};

出于某种原因,第二次尝试更改代码的承诺会产生“未定义”,而不是来自“世界”返回结果的预期值。

任何建议表示感谢,谢谢您的帮助。

丹尼尔·怀特

您将Promise在后面的示例中构造函数回调返回该值无法解析。您必须调用resolve回调才能传递值。

await new Promise(r => {
   setTimeout(() => r('world'), 3000);
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

来自分类Dev

需要了解为什么我的Python函数不能正确地比较字符串

来自分类Dev

为什么LTRIM函数未返回预期结果

来自分类Dev

为什么我不能在Xcode 8中使用新的内联#imageLiteral语法?“返回结果中的预期表达式”

来自分类Dev

需要了解为什么正则表达式不能替换所有匹配项

来自分类Dev

为什么此函数返回未在Java中返回预期结果?

来自分类Dev

为什么解码返回结果为空

来自分类Dev

为什么递归函数返回意外结果?

来自分类Javascript

函数未返回预期结果

来自分类Dev

为什么由于没有目标结果,该函数不能返回整数?

来自分类Dev

为什么我不能从函数返回显式类型的结果枚举?

来自分类Dev

为什么不能在.reduce()函数中将推入的结果返回到累加器?

来自分类Dev

为什么此SQL Server查询未返回预期结果?

来自分类Dev

为什么需要抽象语法树?为什么递归下降解析器不能解析它呢?

来自分类Dev

Promise函数不返回结果

来自分类Dev

在Itanium C ++ ABI中,为什么模板函数的错误名称不能解析依赖的typedef?

来自分类Dev

libc hypot函数似乎为double类型返回不正确的结果...为什么?

来自分类Dev

为什么此递归函数对二进制搜索树中的节点进行计数总是返回比预期大的结果?

来自分类Dev

为什么将内联分解作为函数参数不能按预期工作

来自分类Dev

MySQL平均函数未返回预期结果

来自分类Dev

厨师为什么不能解析我的菜谱?

来自分类Dev

为什么不能解析提供的格式表示的时间?

来自分类Dev

了解Promise与Obervables的结果

来自分类Dev

为什么我的Python函数不返回结果?

来自分类Dev

为什么函数返回多维数组,但结果是数字?

来自分类Dev

为什么返回不打印内部函数结果?

来自分类Dev

为什么我的异步函数不返回任何结果?

来自分类Java

为什么我得到与预期相反的结果?

来自分类Dev

为什么列表的结果与预期的不同?

来自分类Dev

为什么用rgeom更改p值不能得到预期的结果

TOP 榜单

热门标签

归档