哈哈,首先来点题外话,我觉得还是很多人都经历的事情。我有个表弟,现在大学毕业找工作了,大学专业是护理,由于没有护理证,现在找不到好一点得工作,听说消防员工资待遇好,考了消防证,结果找工作工资并没有别人说的那种,工资高,待遇好。今天问我,互联网工资高,待遇好,觉得我工作还可以,想学习软件开发,我就问他,你问什么现在又想学习互联网呢?他就说好找工作,待遇好,工资高。我就告诉他,不要听别人说什么你就信什么,鞋子合不合脚,只有自己穿了就知道。所有,包括我自己,也是开发这行得小白,如果你真的喜欢这份工作,或许某分工作,不要介意别人怎么看你,怎么说你,你要相信自己,不要放弃,一步一步来,不要急于求成,不要一步想登天,夯实基础。
看重点吧
我是node.js写后台接口,然后呢在函数表达式中获取值
如何将Promise.then中的值直接return出来
Promise 如何返回值,而不是返回 Promise 对象。实际开发中使用封装好的异步请求函数,为什么调用该函数返回的值一直都是 undefined。
定义一个foo函数,在里面执行异步操作,然后取得Promise.then中的值并return出来,以便在别的地方使用该返回值。
该需求可以用伪代码表示如下:
问题代码
问题原因:
最直接的原因,foo函数没有返回值,所以是undefined。里面的return语句是写在箭头函数里的,所以箭头函数的return不是foo函数的。
问题代码:
问题原因:
同步和异步的问题,「无法在当前获得未来的值」。前面声明了result,而后面对它的赋值发生在异步操作中
经过一番研究,得出结论:不可能实现直接将Promise.then中的值return出来。
正确的使用方式只能是:return出Promise对象,然后在.then的执行体中处理异步请求得到的值(或者用async/await)。
3. 使用 async/await 处理返回的数据
将异步请求封装成一个方法,并return异步请求结果给变量。
建议使用.then处理返回函数,如果是处理多个函数表达式,一定用!!!!!!!!!!!!!!!
Promise.all([reults,promise1,promise2])