JS调用函数,如何实现等调用函数返回再继续?
代码大概是这样的:let thisArray = that.funcGetAddressList(keyword, 'town')
console.log(thisArray)
但如果这样执行,只能输出undefined,因为输出时funcGetAddressList未执行完成未返回。
如果要代码等待funcGetAddressList返回再继续,如何实现比较简单?谢谢 这个得看funcGetAddressList里面的内容你这点代码没用。 setTimeout 用Promise或者async await试试? 要不然在funcGetAddressList 里写一个回调函数,执行完后回调出来处理。
还有一个粗暴的办法,循环判断 thisArray 是否为空,但是对于js的单线程来说………………嗯,就这样。 本帖最后由 冉盛 于 2021-6-25 13:51 编辑
我在vue函数调用其他函数的时候 函数返回值为undefined , 并不是调用的函数未执行,而是获取不到函数的返回值而已;;;
可以在被调用的那个函数里面传入一个回调函数;
参考链接:https://blog.csdn.net/clc_2020/article/details/109355643 async function text(){
let thisArray =await that.funcGetAddressList(keyword, 'town')
console.log(thisArray)
}
text() 冉盛 发表于 2021-6-25 13:49
我在vue函数调用其他函数的时候 函数返回值为undefined , 并不是调用的函数未执行,而是获取不到函数的返 ...
他那个写的就不对 那样子 return 不管你什么时候调用 不可能拿到返回值好好看看this指向吧 可以用回调函数实现
```javascript
that.funcGetAddressList(keyword, 'town', function(thisArray){
console.log(thisArray)
})
```
funcGetAddressList要多加一个参数
```javascript
function funcGetAddressList(参数一,参数二,callback){
// ...
// ...
// ...
// 执行完后调用callback
callback(thisArray)
}
```
可以搜一下JavaScript异步编程 都是高手啊,真羡慕你们懂这专业
页:
[1]
2