js 嵌套函数怎么修改外函数的值

img

在fetchdefault函数里面,怎么修改idenabc的值,使得filterSider里面的idenabc的值从user变成其他值?

Fetchdefault应该是个异步请求吧,console是同步操作,异步操作执行顺序肯定会排在同步后面。
所以在外面console的时候Fetchdefault其实还没执行,等Fetchdefault执行后idenabc是变化了,所以函数内的console变了。
如果你下面要用idenabc这个变量,就把代码写在Fetchdefault函数里,在赋值下面接着写就行了。

这个var可能不太理想,let试试

就你这样改吧 你函数里面的console 打印idenabc 没变化吗

Fetchdefault请求只有在同步时,Fetchdefault外面的console中输出的值改变,如果需要使用idenabc的值,建议直接在Fetchdefault方法then转中操作,异步毕竟是提升效率的

你这逻辑好像有问题,你先掉的filterSider函数,然后var了一个变量,然后再请求一个fetchdefault函数,然后再在函数里面判断去赋值。看着没毛病 ,但是你这在函数里面,定义变量的值,你总修改他干嘛。每次调用这个函数都会重新定义,然后赋值。你可以return出去,或者fetchdefault写另外一个函数,再去传形参的方式去调用fetchdefault函数。写一堆,后期怎么维护看的都头大