Promise返回值问题(处理异步请求返回值问题) |
您所在的位置:网站首页 › js函数返回值接收不到 › Promise返回值问题(处理异步请求返回值问题) |
因为项目中我们的数据请求全都是异步的 在开发中遇到的问题: 本意将数据请求封装成一个方法,并return数据请求结果给变量 如: let getData = () =>{ //service.getList 为数据请求方法名 service.getList().then(function(rs){ return rs }) } var data = getData() //undefined因为接口请求是异步,所以导致return的值一直都是undefined 所以可以使用Promise+async实现 function getSomething() { return new Promise(function(resolve) { service.getList().then(function(rs){ resolve(rs); }) }); } async function asyncFn() { var returnData = await getSomething(); return returnData } var data = asyncFn();但是这样写的结果是把Promise对象赋给了data 就是因为Promise异步的,所以他不会直接返回值 这也不是我们想要的 还需要再做一个操作 //将这句调用修改 var data = asyncFn(); //修改成下面的调用方式 asyncFn().then(value =>{ var data = value })
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |