吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1344|回复: 13
收起左侧

[求助] JS调用函数,如何实现等调用函数返回再继续?

[复制链接]
cqwcns 发表于 2021-6-25 13:22
代码大概是这样的:

[JavaScript] 纯文本查看 复制代码
        let thisArray = that.funcGetAddressList(keyword, 'town')
        console.log(thisArray)


但如果这样执行,只能输出undefined,因为输出时funcGetAddressList未执行完成未返回。
如果要代码等待funcGetAddressList返回再继续,如何实现比较简单?谢谢

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

不知道改成啥 发表于 2021-6-25 13:30
这个得看funcGetAddressList里面的内容你这点代码没用。
wangsheng66 发表于 2021-6-25 13:31
sundeheng 发表于 2021-6-25 13:34
Gang_Yu 发表于 2021-6-25 13:35
要不然在  funcGetAddressList 里写一个回调函数,执行完后回调出来处理。
还有一个粗暴的办法,循环判断 thisArray 是否为空,但是对于js的单线程来说………………嗯,就这样。
冉盛 发表于 2021-6-25 13:49
本帖最后由 冉盛 于 2021-6-25 13:51 编辑

我在vue函数调用其他函数的时候 函数返回值为undefined , 并不是调用的函数未执行,而是获取不到函数的返回值而已;;;
可以在被调用的那个函数里面传入一个回调函数;
参考链接  :  https://blog.csdn.net/clc_2020/article/details/109355643
lucklys 发表于 2021-6-25 14:16
async function text(){
let thisArray =  await that.funcGetAddressList(keyword, 'town')
console.log(thisArray)
}
text()
lucklys 发表于 2021-6-25 14:24
冉盛 发表于 2021-6-25 13:49
我在vue函数调用其他函数的时候 函数返回值为undefined , 并不是调用的函数未执行,而是获取不到函数的返 ...

他那个写的就不对 那样子 return 不管你什么时候调用 不可能拿到返回值  好好看看this指向吧
SKnight 发表于 2021-6-25 14:28

可以用回调函数实现

that.funcGetAddressList(keyword, 'town', function(thisArray){
    console.log(thisArray)
})

funcGetAddressList要多加一个参数

function funcGetAddressList(参数一,参数二,callback){
    // ...
    // ...
    // ...

    // 执行完后调用callback
    callback(thisArray)
}

可以搜一下JavaScript异步编程

lncyq 发表于 2021-6-25 14:59
都是高手啊,真羡慕你们懂这专业
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 00:28

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表