Return 来自函数的对象响应 - Javascript

Return an object response from a function - Javascript

我对asynchronous/synchronous之间的区别有点困惑。一点背景知识,我正在尝试编写一个使用回调和承诺的程序。我试图创建嵌套请求,但对象的值并没有承载这些请求,所以我创建了一个函数,它接受一个 JS 对象的输入,修改它,然后 returns 返回 js 对象。修改将包括一个 API 调用,该调用查找要添加到 JS 对象的另一个字段。

我可以通过类似于此的方法来完成此操作吗:

  TEST1 function(....){
        // do stuff
        request.get(options, function(error, response, body) {
                  // do stuff to get js object
                  jsobject = objectModification(jsobject); //modified js object
       });
  }

  objectModification function(jsobject) {
        request.get(options, function(error, response, body) {
                  // do stuff to modify js object
       });
        return jsobject;
  }      

您可以将回调函数传递给 objectModification,这样当 jsobject 的最终版本准备就绪时调用者会收到通知,它是什么:

function TEST1(....){
    var options = { ... };
    request.get(options, function(error, response, body) {
        // do stuff to get js object, for example:
        jsobject = response;
        // modify jsobject asynchronously:
        objectModification(jsobject, function (jsobject) {
            // here we have the final version of jsobject.
        });
    });
}

function objectModification(jsobject, done) {
    var options = { ... };
    request.get(options, function(error, response, body) {
        // do stuff to modify js object, for example:
        jsobject.newProperty = response;
        // Then call callback function to pass the modified js object        
        done(jsobject);
    });
}