问题模块 框架类型 问题类型 终端类型 微信版本 基础库版本
框架 微信小程序 Bug 客户端 2.2 2.2
代码如下:
function test(){
for( var i = 0;i<10;i++){
//这里的request是一个异步方法
request( i ,function(res){
callback(i,res.result)
})
}
}
function callback(i,result){
console.log( 'i=',i,'and result = ',result)
}
这里的问题是,request 是异步方法,立即返回,当回调发生时,i的值已发生变化?这个是个作用域的问题。
请问,这个问题怎么解决,并且能否说明这个相关的js知识点是什么?
另外,变量定义时, 用var 和const 有什么区别 ? 作为一个java程序员,我有点没弄明白
微信小程序开发问题解答
微信小程序开发者回答:
function test(){
for( var i = 0;i<10;i++){
//这里的request是一个异步方法
let temp = i
request( temp ,function(res){
callback(temp,res.result)
})
}
}
微信小程序开发者回答:
谢谢。完美!
微信小程序开发者回答:
推荐学习知识点~ js闭包
本文网址:http://www.91bianli.com/weixinxiaochengxu/45985.html