readFile
не возвращает обещание. NodeJS по большому счету предваряет широкое использование обещаний и в основном использует простые обратные вызовы.
Для чтения файла, вы передаете в простой функции обратного вызова, как в этом примере из документации показывает:
fs.readFile('/etc/passwd', function (err, data) {
if (err) throw err;
console.log(data);
});
Существует promisify-node
module доступно, которые оборачивают стандартные NodeJS модулей в посыла с поддержкой API. Пример из его документации:
var promisify = require("promisify-node");
var fs = promisify("fs")
fs.readFile("/etc/passwd").then(function(contents) {
console.log(contents);
});
Я хотел бы подчеркнуть, что я не знаю и не использовал его, поэтому я не могу говорить о том, как хорошо он делает свою работу. Похоже, что используется nodegit-promise
, a «Внедрение Bares Bones Promises/A + с синхронным обследованием», а не JavaScript Promise
(что справедливо, оно предшествует JavaScript Promise
на пару лет).
' readFile' не возвращает обещание, почему вы думаете, что он делает? – Bergi
Я пытаюсь для шифрования файла base64, как вы можете видеть, но я новичок в обещаниях. Тогда что было бы идеальным для решения этого сценария? – Mithun
@Mithun вы передаете обратный вызов, как описано [здесь] (https://nodejs.org/api/fs.html#fs_fs_readfile_filename_options_callback) Также «но я новичок в обещаниях», может быть, но опять же, нет никаких обещаний Вот. –