请查看以下代码:
function myfunc(name: string): void {
var p = getPromise(**url**):Promise<string>;
p.then((data:string) => {
console.log(data);
console.log(name);
});
}
myfunc("John");
当我运行代码时,出现以下错误:
未捕获的ReferenceError:未定义名称
我不明白为什么。箭头功能在大功能内 'myfunc',因此,箭头函数应该可以访问包装函数的变量。为什么不在这种情况下发生?
答案 0 :(得分:0)
我刚刚使用let将p的声明更改为更多的打字稿。其余的应该是一样的。
function myfunc(name: string): void {
let p:Promise<string> = getPromise(**url**);
p.then((data:string) => {
console.log(data);
console.log(name);
});
return p;
}