Javascript 节点类型错误:承诺解析程序#<;承诺>;这不是一个函数

Javascript 节点类型错误:承诺解析程序#<;承诺>;这不是一个函数,javascript,node.js,promise,aws-lambda,Javascript,Node.js,Promise,Aws Lambda,我在第一次拒绝时尝试使用的承诺上出现了一个类型错误,但从我所能看出的情况来看,它与我找到的示例类似。我做错了什么 var解析、拒绝; exports.handler=(事件、上下文、回调)=> { //var filePromise=新承诺(ProcessFile(解析、拒绝)); var filePromise=newpromise(函数ProcessFile()) { console.log(“处理文件”); 返回新承诺((解决、拒绝)=>{ 变量数组; if(array.length)

我在第一次拒绝时尝试使用的承诺上出现了一个类型错误,但从我所能看出的情况来看,它与我找到的示例类似。我做错了什么

var解析、拒绝;
exports.handler=(事件、上下文、回调)=>
{
//var filePromise=新承诺(ProcessFile(解析、拒绝));
var filePromise=newpromise(函数ProcessFile())
{
console.log(“处理文件”);
返回新承诺((解决、拒绝)=>{
变量数组;
if(array.length)
{
日志(“检查标题”);
拒绝(“未经授权”);
});接近承诺
}//关闭函数

}你只需要一个承诺

var filePromise=新承诺(函数(解析、拒绝){
console.log(“处理文件”);
变量数组=[1];
如果(array.length>0){
解决(“我们有东西在阵列中,看起来很有希望”);
}否则{
拒绝(“填充数组时出错”);
}
});
函数CheckHeaders(){
返回新承诺((解决、拒绝)=>{
日志(“检查标题”);
拒绝(“未经授权”);
});接近承诺
}
文件承诺
。然后(res=>{
console.log(res)
CheckHeaders()
.then(res2=>console.log(res2))

}).catch(err=>console.warn(err));
类型错误?您使用的是typescript吗?还是在运行代码时得到
TypeError
文件承诺?然后(CheckHeaders());
必须是
filePromise。然后(CheckHeaders)
-
然后
需要一个函数,而不是一个承诺。你应该只需要一个
catch
。除非必须,否则不要嵌套承诺。我说的是
filePromise.then(res=>{console.log(res);return/*sic!*/CheckHeaders();})。然后(res2=>console.log(res2),err=>console.warn(err));
不是关于将
filePromise
checkHeaders
promise合并(虽然我不知道,但是从伪示例代码中不清楚它们会做什么)