为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript,我无法传递超出范围的变量,谁能给出解决方案?

Javascript,我无法传递超出范围的变量,谁能给出解决方案?

慕姐4208626 2021-09-17 17:19:28
我正在尝试控制台记录 .then() 之外的变量 arrItems。有什么建议吗?提前致谢。protected fun(){    sp.web.lists.getByTitle("Requests")    .items.get()    .then((items: any[]) => {    var arrItems = items.map((order) => {    var info = {      "Id": order.Id, "File": order.FileName    }    return info;  })  console.log(arrItems) // works },); console.log(arrItems) // doesent works}
查看完整描述

2 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

这.get是一个承诺,它是异步解决的。这意味着其他代码将在承诺解决之前执行。


如果你不知道如何工作的,我建议你阅读一些文章/文档像这样。


您可以使用awaites6 标记等待承诺解决,然后控制台记录结果。


来自MDN 的示例


function resolveAfter2Seconds(x) { 

      return new Promise(resolve => {

        setTimeout(() => {

          resolve(x);

        }, 2000);

      });

    }

    

    async function f1() {

      var x = await resolveAfter2Seconds(10);

      console.log(x); // 10

    }

    

    f1();


查看完整回答
反对 回复 2021-09-17
  • 2 回答
  • 0 关注
  • 144 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信