Node TypeError: распознаватель обещаний # <Promise>не является функцией - PullRequest
0 голосов
/ 10 сентября 2018

Я получаю ошибку типа в обещании, которое пытаюсь использовать во время первого отклонения, но из того, что я могу сказать, похоже на примеры, которые я нашел. Что я делаю не так?

var resolve, reject;
exports.handler = (event, context, callback) =>
{

	//var filePromise = new Promise(ProcessFile(resolve, reject));



	var filePromise = new Promise(function ProcessFile()
	{
		console.log("Processing file");
		return new Promise((resolve, reject) => {
		var array;

		if(array.length <0)
		{
			resolve("We have stuff in the array, looks promising");
		}
		else
		{
			reject("Something went wrong populating the array");
		}

		});
	});

	filePromise.then(CheckHeaders());

	function CheckHeaders()
	{
		return new Promise((resolve, reject) =>
		{
			console.log("Checking headers");
			
			reject("Unauthorised");
		});	//close promise
	 }	//close function
};

1 Ответ

0 голосов
/ 10 сентября 2018

Вам нужно только одно обещание.

var filePromise = new Promise(function(resolve, reject) {
  console.log("Processing file");
  var array = [1];

  if (array.length > 0) {
    resolve("We have stuff in the array, looks promising");
  } else {
    reject("Something went wrong populating the array");
  }
});

function CheckHeaders() {
  return new Promise((resolve, reject) => {
    console.log("Checking headers");

    reject("Unauthorised");
  }); //close promise
}

filePromise
  .then(res => {
    console.log(res)
    CheckHeaders()
      .then(res2 => console.log(res2))
  }).catch(err => console.warn(err));

Как указал @Bergi, было бы лучше иметь только одно общее обещание.

var filePromise = new Promise(function(resolve, reject) {
  console.log("Processing file");
  var array = [1];

  if (array.length > 0) {
    resolve("We have stuff in the array, looks promising");
  } else {
    reject("Something went wrong populating the array");
  }

  //here check headers
  reject("Unauthorised");


});

filePromise
  .then(res => {
    console.log(res)
  }).catch(err => console.warn(err));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...