如何 return 值从内部函数到外部函数
How to return value from inner function to outer function
我正在尝试将 return pagenumber
的值从内部函数传递到另一个函数。但是由于 javascript 的异步性质。我无法做到这一点,因为与内部函数相比,外部函数执行得更早。我正在尝试对其使用回调,但如果我在没有回调的情况下调用外部函数(从其他地方),它将产生错误。我的代码是,
'GrabNewResponse':function(credentials,width){
let pagenumber=0;
app.request.get(url,function(data){
let result=JSON.parse(data);
pagenumber=result.data.pagenumber;
if(result.success===true){
app.dialog.close();
}
});
return pagenumber;
},
如果没有回调、promises 或 async/await 关键字,Javascript 中的异步操作无法有效处理。
const request = () => new Promise((resolve, reject) =>
app.request.get(url, (response) => response.success
? resolve(response)
: reject(response)))
const o = {
async GrabNewResponse(credentials, width) {
const response = JSON.parse(await request(url))
const { data: { pagenumber = 0 } } = response
app.dialog.close()
return pagenumber
}
}
我正在尝试将 return pagenumber
的值从内部函数传递到另一个函数。但是由于 javascript 的异步性质。我无法做到这一点,因为与内部函数相比,外部函数执行得更早。我正在尝试对其使用回调,但如果我在没有回调的情况下调用外部函数(从其他地方),它将产生错误。我的代码是,
'GrabNewResponse':function(credentials,width){
let pagenumber=0;
app.request.get(url,function(data){
let result=JSON.parse(data);
pagenumber=result.data.pagenumber;
if(result.success===true){
app.dialog.close();
}
});
return pagenumber;
},
如果没有回调、promises 或 async/await 关键字,Javascript 中的异步操作无法有效处理。
const request = () => new Promise((resolve, reject) =>
app.request.get(url, (response) => response.success
? resolve(response)
: reject(response)))
const o = {
async GrabNewResponse(credentials, width) {
const response = JSON.parse(await request(url))
const { data: { pagenumber = 0 } } = response
app.dialog.close()
return pagenumber
}
}