Надеюсь, у вас все в порядке, поэтому я уже какое-то время использую nodejs и все еще привыкаю к асинхронным функциям и прочему, поэтому я загружаю изображение с сервера, используя ax ios, и дождитесь загрузки изображения, а затем используйте изображение, чтобы опубликовать sh сообщение на веб-сайте WordPress, код довольно сложен, потому что он работает с несколькими сообщениями, но другие просто не будут ждать загрузки изображения полностью, однако он просто отправляет сообщение без изображения.
axios.get(encodeURI(img), {responseType: "stream"} )
.then(response => {
// Saving file to working directory
response.data.pipe(fs.createWriteStream("images/"+title.replace(/[^\x00-\x7F]/g, "")+".png"));
await sleep(3000);
var wp = new WPAPI({
endpoint: 'XXXXX/wp-json',
// This assumes you are using basic auth, as described further below
username: 'XXXX',
password: 'XXXXX'
});
wp.posts().create({
title: title,
content: index,
categories: [3,9,2],
status: 'publish'
}).then(function( post ) {
// Create the media record & upload your image file
var filePath = "images/"+title.replace(/[^\x00-\x7F]/g, "")+".png";
return wp.media().file( filePath ).create({
title: title,
// This property associates our new media record with our new post:
post: post.id
}).then(function( media ) {
console.log( 'Media uploaded with ID #' + media.id );
return wp.posts().id( post.id ).update({
featured_media: media.id
});
});
});
})
.catch(error => {
console.log(error);
});
Итак, я спрашиваю, как я могу полностью подождать, пока изображение не появится в папке, прежде чем поделиться сообщением, спасибо.