ReferenceError: resolve is not defined

前端 未结 2 2112
一整个雨季
一整个雨季 2021-02-08 15:08

I have a function to call the google speech api. Looks all is good but I cannot find why its giving me the error. I am beginner with node and promises so not sure why this error

2条回答
  •  独厮守ぢ
    2021-02-08 15:39

    You don't call resolve() from within a .then() handler. There is no such function defined there. If you want to set the resolved value of the promise from within a .then() handler, you can just return that value.

    Change this:

    .then(function(responses) {
          resolve(responses[0]);
          console.log("Result: ", JSON.stringify(responses[0]));
    })
    

    to this:

    .then(function(responses) {
          console.log("Result: ", JSON.stringify(responses[0]));
          return responses[0];
    })
    

    FYI, the resolve() you are likely thinking of is an argument to the new Promise executor callback:

    let p = new Promise(function(resolve, reject) {
        resolve(10);
    });
    

    And, this is the context in which you would use it.

提交回复
热议问题