小程序
小游戏
企业微信
微信支付
扫描小程序码分享
大家有没有一些好的办法吧异步转为同步呢?有些参数是需要调用一个方法后返回,另一个函数使用,异步处理老是获取不到这个返回值
13 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
请问下,app.js中通过wx.login返回的code换取的sessionKey,在index.js中获取不到的异步问题怎么解决?
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
我没有在app.js里调用 哪个页面需要登录在哪个页面调用的
请问下,最终是怎么解决这个问题的?app.js里面请求的数据openID,index.js一直获取不到
好的 谢谢大神了,小白一个 , js不是很懂
当需要使用异步调用返回的数据时,相关的代码需要写到回调函数中,像这样:
function f(code, callback) {
WxLogin({code: code}, res=>{
GetList({id: res, res1 => {
callback(res1);
}
如果不喜欢上面这种嵌套的方式,可以采用promise将代码改造成login(...).then(getList).then(callback)这样的形式,但仍然还是异步调用,你应该还是没有正确理解异步回调的处理方法,此时不建议接触promise,它会让你更加一头雾水。
promise,我对这个写法不是太懂,但是不想嵌套,因为我这个嵌套会比较乱,所以还有没有更好的解决方案啊,我现在就是拿openid然后进行别的查询,现在不按顺序走就出现很多错误
非常感谢你 成功了 在请教个问题
如果这样写 这里该怎么返回 并且这个id是有值的 可以在下一步使用
如果非要把一个异步方法改为同步的话,可以使用类似 while(true) 的方法来等待。但是不建议这么做,推荐使用 Promise。
f函数中res由回调产生,就不能直接return,可以采用下面的方法:
function f(callback) {
getList({}, (res)=>{
callback(res)
// 使用f:
f((res)=>{
console.log(res);
});
亲求教 这样怎么写 f()方法 怎么返回
同一个页面函数嵌套就行了,不同页面请参考app.js中userInfoReadyCallback的回调写法
正在加载...
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
请问下,app.js中通过wx.login返回的code换取的sessionKey,在index.js中获取不到的异步问题怎么解决?
我没有在app.js里调用 哪个页面需要登录在哪个页面调用的
请问下,最终是怎么解决这个问题的?app.js里面请求的数据openID,index.js一直获取不到
好的 谢谢大神了,小白一个 , js不是很懂
当需要使用异步调用返回的数据时,相关的代码需要写到回调函数中,像这样:
function f(code, callback) {
WxLogin({code: code}, res=>{
GetList({id: res, res1 => {
callback(res1);
}
}
}
如果不喜欢上面这种嵌套的方式,可以采用promise将代码改造成login(...).then(getList).then(callback)这样的形式,但仍然还是异步调用,你应该还是没有正确理解异步回调的处理方法,此时不建议接触promise,它会让你更加一头雾水。
promise,我对这个写法不是太懂,但是不想嵌套,因为我这个嵌套会比较乱,所以还有没有更好的解决方案啊,我现在就是拿openid然后进行别的查询,现在不按顺序走就出现很多错误
非常感谢你 成功了 在请教个问题
如果这样写 这里该怎么返回 并且这个id是有值的 可以在下一步使用
如果非要把一个异步方法改为同步的话,可以使用类似 while(true) 的方法来等待。但是不建议这么做,推荐使用 Promise。
f函数中res由回调产生,就不能直接return,可以采用下面的方法:
function f(callback) {
getList({}, (res)=>{
callback(res)
}
}
// 使用f:
f((res)=>{
console.log(res);
});
亲求教 这样怎么写 f()方法 怎么返回
同一个页面函数嵌套就行了,不同页面请参考app.js中userInfoReadyCallback的回调写法