如何 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
    }
}