return promise理解?

来源:6-6 API对接mysql(博客列表)

weixin_慕妹0008060

2020-03-01

`

    return result.then(listData => {
        return new SuccessModel(listData)
    })`
    这里的2个return可以这么理解?
    因为result是一个primise对象,是一个异步的过程,因此第一return相当于直接返回的是pomise对象。
    第二个return是在回调中用的,用于成功从数据库获取数据返回的参数。
    精髓来说,promise是处理异步,既然是异步就不是一下子得到的数据,需要等到拿到数据才回调,因此需要2个return.
写回答

1回答

双越

2020-03-01

是的,理解的没错。

另外,建议你提问时,把问题内容好好整理一下格式,现在看着乱乱的。因为你也有可能会去其他网站提交问题、写博客等,正确的格式会更容易吸引其他人的观看。

0
1
weixin_慕妹0008060
简单来说,then方法相当于在这里注册的回调函数,并不会立即执行,等resolve在执行。promise因为处理异步,需要保存(pending-resolve or reject)这三个状态,如果不加上第一个return,promise还是处于pending状态,后面直接拿这个函数的值就是Undefined
2020-03-01
共1条回复

Node.js+Express+Koa2+Nest.js 开发服务端

从入门到实战,一站式掌握 Node.js+Express+Koa2

4051 学习 · 2006 问题

查看课程