Я не могу вернуть внутреннюю наблюдаемую
createItem -> создаст элемент (запрос POST) Resposne форма, в которой элемент содержит ID, используя этот идентификатор, я добавляю Attachemnts в Item.
addAttachmentstoItem -> POST-запрос
выбранный файл -> содержит вложенные файлы в форме, мы перебираем каждый файл и вызываем пост-запрос addAttachmentstoItem.
Merge MapОператор для внутренней наблюдаемой не может вернуть наблюдаемый
this.sharepointService.createItem(this.itemData)
.pipe(
mergeMap (( response : Response) => {
this.lastItemCreatedId = response['d'].ID
this.selectedfile.forEach( (file) => {
let filename = file.name
let url = "_spPageContextInfo.webAbsoluteUrl"+"_api/web/lists/getByTitle('"+ libraryName +"')/items("+this.lastItemCreatedId+")/AttachmentFiles/add(FileName = '"+filename+"')"
return this.sharepointService.addAttachementstoItem(url,filename).subscribe( response => console.log("File Uploaded"))
})
}),
).subscribe()
код в sharepointService:
createItem(itemData): Observable<Object> {
console.log("Inside postItem")
console.log(itemData.reqno)
var body = {
"__metadata" : {'type' : 'SP.Data.CustomListListItem'},
'Title' : 'first',
'Requisition_x0020_Number' : itemData.reqno,
'Site_x0020_Security_x0020_Groups' : itemData.sitesecuritygroups,
'User_x0020_Security_x0020_Groups' :itemData.usersecuritygroups,
'Attachments' : itemData.selectedfile
}
return this.http.post(this.baseUrl+"_api/web/lists/getbytitle('CustomList')/items",body)
}
addAttachementstoItem(url,selectedfile): Observable<Object> {
console.log(url)
return this.http.post(url,selectedfile)
}
Я получаю сообщение об ошибке: Аргумент типа '(ответ: Ответ) => void 'нельзя назначить параметру типа' (значение: Response, index: number) => ObservableInput '.Тип 'void' нельзя назначить типу 'ObservableInput'.