我遇到了一个我很难理解的自定义组件中的一段代码。
You should use promises.
function callApi() {
return new Promise((resolve, reject) => {
const req = http.request(options, (res) => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', (d) => {
process.stdout.write(d)
resolve(JSON.parse(d))
})
})
req.on('error', (error) => {
reject(error)
})
req.write(data);
req.end();
})
}
function test() {
var request = callApi();
request.then(function result(result) {
console.log(result)
}, function error(err) {
console.log(error)
})
}
test();
public onTouch: () => void = () => {}
函数是通过私有方法设置的
onTouch
我认为第一部分registerOnTouch(fn: any) {
this.onTouch = fn;
}
声明了一个不带参数且不返回值的函数。但是我很难理解最后一部分public OnTouch: () = void
。
后面的部分描述了它是否可能是过载?
答案 0 :(得分:2)
第一部分:
() => void
声明函数onTouch
的类型以及第二部分:
= () => {}
声明其默认值。也就是说,如果没有为onTouch
分配其他值,则它将是空操作。