TS找不到名称”

时间:2018-11-01 13:42:18

标签: typescript promise

我是打字稿的完整初学者,并且在这个问题上已经停留了很长时间。任何帮助将不胜感激。

大部分代码来自Microsoft SharePoint的Webpart开发教程。

我正在尝试返回一个变量,但在行 return response;上始终出现“找不到名称”错误

private _getListData(): Promise<ISPLists> {
client
  .api('/users')
  .get((err, res) => {
     console.log(err);
     var response = res
   });
return response;}

  private _renderListAsync(): void {
  this._getListData()
    .then((response) => {
     this._renderList(response.value);
  });}

1 个答案:

答案 0 :(得分:2)

您的_getListData()方法的返回类型已定义为Promise,但没有返回Promise,而且您的.api().get是异步的,因此找不到response变量,您可以在此处执行的一个选项是返回Promise

     private _getListData(): Promise<ISPLists> {
        return new Promise((resolve, reject) => {
          client
            .api('/users')
            .get((err, res) => {
              console.log(err);
              resolve(res);
            });
        });
      }